home *** CD-ROM | disk | FTP | other *** search
/ Beginning Mac Programming / Beginning Mac Programming.bin / Open Me for REALbasic 3 / REALbasic 3.2 / Read Me's / REALbasic 3.0 Release Notes < prev    next >
Text File  |  2001-01-31  |  108KB  |  2,412 lines

  1. Release notes for REALbasic 3.0
  2. 12 February, 2001
  3.  
  4. REALbasic 3 contains the following new features:
  5.   (All)  ApplicationSupportFolder: this new global method gives you a
  6.          FolderItem that refers to the Application Support Folder, or
  7.          nil if that is not available.
  8.  
  9.   (All)  Arrays: properties can now be declared empty -- e.g., foo(-1)
  10.          as Integer -- just like local arrays.
  11.  
  12.   (All)  Edit field: CharPosAtLineNum method added. This lets you find
  13.          the (1-based) character position of the first character on the
  14.          given (0-based) line number in a multi-line edit field. The
  15.          method interface is CharPosAtLineNum(lineNumber as Integer) as
  16.          Integer.
  17.  
  18.   (All)  Edit field: LineNumAtCharPos method added. This lets you find
  19.          the (0-based) line number on which any 1-base character
  20.          position can be found in a multi-line edit field. The method
  21.          interface is: LineNumAtCharPos(charPosition as Integer) as
  22.          Integer. In combination with the ScrollPosition property added
  23.          in a6, this lets you scroll the edit field to a particular
  24.          place in the text.
  25.  
  26.   (All)  Edit field: ScrollPosition property added. This is the 0-based
  27.          index of the topmost visible line. It is both readable and
  28.          writable (may be used to scroll the Edit field).
  29.  
  30.   (All)  Handle: the new Handle property deprecates the existing
  31.          MacControlHandle property. Any visible win32 control should
  32.          have a handle. This new property provides identical
  33.          functionality as that of MacControlHandle, but the name change
  34.          reflects that it is now implemented in a cross-platform way.
  35.  
  36.   (All)  Language: arrays can now be declared of size -1 (i.e., empty).
  37.  
  38.   (All)  Language: global constants can now be used as dimensions in
  39.          array declarations.
  40.  
  41.   (All)  List box: ScrollBarHorizontal property added to listboxes. Now
  42.          horizontal scrolling in a listbox is as easy as setting this
  43.          value to true. This property is settable in code as well so you
  44.          can leave it off until its needed. The pagestep value is set
  45.          the same as the Mac OS Finder's list view (i.e. 18 pixels of
  46.          overlap)
  47.  
  48.   (All)  List box: ScrollBarVertical property added to listboxes. Now
  49.          Vertical scrollbars are optional. You can set this value in
  50.          code. This can be useful if you want the scrollbar to appear
  51.          only after you have sufficient number of rows to make it
  52.          useful. Your Win32 users may expect this.
  53.  
  54.   (All)  List box: ScrollPosition property added. This is the 0-based
  55.          index of the topmost visible row. It is both readable and
  56.          writable (may be used to scroll the list box).
  57.  
  58.   (All)  List box: ScrollPositionX integer property added to list boxes.
  59.          You can scroll a list box horizontally by adding a Scroll bar
  60.          control which modifies this property. This property can be set
  61.          in the IDE and as such will scroll IDE columns accordingly.
  62.          NOTE: it is perfectly acceptable to use a negative value here.
  63.  
  64.   (All)  Pop-up menu: ListIndex is a property that can now be set at
  65.          design time.
  66.  
  67.   (All)  PrinterSetup: resolutions higher than 72 dpi supported. New
  68.          "MaxVerticalResolution" and "MaxHorizontalResolution"
  69.          properties added. These default to 72; you can change them to
  70.          the maximum printer resolution you're prepared to handle, or -1
  71.          for "highest possible resolution". After calling
  72.          PageSetupDialog, OpenPrinter, or OpenPrinterDialog, the
  73.          "VerticalResolution" and "HorizontalResolution" properties will
  74.          be automatically set to the highest resolution supported by the
  75.          printer driver, within your specified constraints. Printing
  76.          will then occur at that resolution. Will not affect existing
  77.          code.
  78.  
  79.   (All)  REAL Database: ALTER TABLE command now supported. Syntax: ALTER
  80.          TABLE <table name> ADD <field name> <field type> [NOT NULL]
  81.  
  82.   (All)  REAL Database: columns can now be added to a database after a
  83.          table is created
  84.  
  85.   (All)  Runtime function: this new function provides information about
  86.          the current state of the runtime environment, for aid in
  87.          debugging. The current functions are: Runtime.ObjectCount as
  88.          Integer: returns the current number of objects  in existence;
  89.          Runtime.ObjectClass(Index as Integer) as String: returns the
  90.          class of  the indicated object, where Index is a number >= 0
  91.          and < ObjectCount; Runtime.ObjectRefs(idx as Integer) as
  92.          Integer: returns how many  references there are to the
  93.          indicated object; Runtime.ObjectID(idx as Integer) as Integer:
  94.          returns a unique  identifier for the indicated object; no other
  95.          object in existence at  the same time will have the same ID.;
  96.          Runtime.MemoryUsed as Integer: returns the total amount of
  97.          memory  being used by allocated objects.
  98.  
  99.   (All)  Serial Number: REALbasic is now using a new serialization
  100.          scheme, it's no longer necessary to have  previous version of
  101.          REALbasic installed to upgrade (you must know your previous
  102.          serial numner, however).
  103.  
  104.   (All)  Sprite surface: attach method allows you to attach custom
  105.          Sprite subclass objects.
  106.  
  107.   (All)  Sprite surface: bit-depths of 8, 16, or 32-bit color now
  108.          available, rather than 8-bit only.
  109.  
  110.   (All)  Sprite surface: note -- now an internal plug-in, which is
  111.          included in compiled applications only when used.
  112.  
  113.   (All)  Sprite surface: resizable on the fly (use
  114.          Left/Top/Width/Height).
  115.  
  116.   (All)  Sprite surface: Stop and Update  methods allow for more control
  117.          over running of the Sprite surface.
  118.  
  119.   (All)  Sprite surface: window mode -- now runs within a window. New
  120.          Window properties allow for full-screen mode.
  121.  
  122.   (All)  String function: Replace -- faster by about 22% in some cases.
  123.  
  124.   (All)  String function: ReplaceAll -- faster by about 50% in some
  125.          cases.
  126.  
  127.   (All)  Window class: FullScreen property added. When this is set to
  128.          true, the window resizes itself to cover the entire screen (in
  129.          the case of multiple monitors, it fits the one which contains
  130.          the greatest portion of the window). The Left, Top, Width, and
  131.          Height properties are changed to reflect the new window
  132.          position, and cannot be changed while FullScreen is true. Note
  133.          that in full-screen mode, a window may be partially covered by
  134.          the menu bar (under Mac OS). This property defaults to False.
  135.  
  136.   (All)  Window class: MenuBarVisible property added. When this is set
  137.          to false, the menu bar will be hidden whenever this window is
  138.          the front most (non-floating) window. The menu bar will be
  139.          shown again when another window (with MenuBarVisible=true)
  140.          becomes front most, or when the application is put into the
  141.          background. This property defaults to True, and works nicely
  142.          with FullScreen.
  143.  
  144.   (Car)  Constants: TargetCarbon built-in constant is now available.
  145.  
  146.   (Car)  Help Tags: this new property has been added to the Control
  147.          class. It is used for Carbon and Mac OS X help tags, as well as
  148.          Win32 tool tips.
  149.  
  150.   (IDE)  About Box: Layout and Graphics completely redone.
  151.  
  152.   (IDE)  AppleScript: Scriptable IDE -- build command added; builds are
  153.          now scriptable and recordable. See Developers Guide for
  154.          details.
  155.  
  156.   (IDE)  AppleScript: Scriptable IDE -- Build dialog now scriptable and
  157.          recordable, with the following: Boolean flag "modified";
  158.          Boolean flag "buildMac68k"; Boolean flag "buildMacPPC"; Boolean
  159.          flag "buildMacCarbon"; Boolean flag "buildWin32"; String
  160.          property "buildMacName"; String property "buildWinName"
  161.          Descriptions are available in the AppleScript dictionary
  162.          (viewable with your favorite script editor)."
  163.  
  164.   (IDE)  AppleScript: Scriptable IDE -- the Open, Save, and Quit
  165.          commands are now scriptable and recordable.
  166.  
  167.   (IDE)  AutoSave: If REALbasic exits abnormally a user will be prompted
  168.          to restore their project when next using REALbasic.  Saves
  169.          happen directly before Running and Building.
  170.  
  171.   (IDE)  Build dialog: Target Types -- now allows building of any target
  172.          type (68k, PPC, Carbon, Win32).
  173.  
  174.   (IDE)  Code Editor: autocomplete pop-up now wraps around: pressing the
  175.          up arrow key when the top item is selected jumps to the bottom,
  176.          and vice-versa. (Works in the online help too.)
  177.  
  178.   (IDE)  Code Editor: Autocompletion -- various enhancements have been
  179.          made to the type-ahead autocompletion function: now includes
  180.          global methods, variables, and constants; now considers
  181.          user-written subroutine names only at the start of  a line, and
  182.          function names only after the start of a line; plug-in classes
  183.          now provide autocompletion to local variables,  just like
  184.          locals which refer to built-in types; now includes menu items;
  185.          includes True" and "False" keywords; now recognizes the data
  186.          type of global properties and methods, and  correctly accounts
  187.          for methods which can be both read and written  (like
  188.          Listbox.ScrollPosition); private methods and properties are now
  189.          considered only when  accessible (e.g., within the defining
  190.          class or some subclass); Application method now resolves to
  191.          your custom application class,  if any.
  192.  
  193.   (IDE)  Code editor: Autocompletion multiple choice -- pressing the Tab
  194.          key while there is more than one autocompletion possibility (as
  195.          indicated by "..." after the cursor) now pops up a list of
  196.          choices. Use the up and down arrow keys to highlight a choice.
  197.          Select a choice with Return, Enter, Right Arrow, Tab, or by
  198.          clicking. Cancel with the Esc, Left Arrow, Delete, or Clear
  199.          key. Known issue: if there are more options than can fit on the
  200.          screen, only the first screen full is displayed.
  201.  
  202.   (IDE)  Code editor: Autocompletion now smarter in several ways; it
  203.          knows more words and makes better use of context clues, and
  204.          also does partial autocompletion when full autocompletion is
  205.          not possible. For example, try x = bit" (going for "BitwiseAnd"
  206.          or "BitwiseOr"). Words considered for autocompletion include
  207.          local variables, class properties and methods, built-in
  208.          functions and classes, user-defined classes, plug-in classes
  209.          and methods, and other built-in keywords and constants. Context
  210.          clues are used, for example, to suggest subroutine names only
  211.          at the beginning of a line, and function names only after the
  212.          beginning of a line. The only major category of valid words not
  213.          yet considered are user-defined global methods and properties.
  214.          If you find any other oversights, please let us know!
  215.  
  216.   (IDE)  Code Editor: Autocompletion now understands array methods
  217.          (Append, Remove, etc.) for local arrays and array properties.
  218.  
  219.   (IDE)  Code Editor: Command-clicking a word in the source editor now
  220.          inserts that word at the insertion point cursor (flashing
  221.          vertical line).
  222.  
  223.   (IDE)  Code Editor: Copied text and text clippings of multi-line
  224.          selections now include indentation.
  225.  
  226.   (IDE)  Code editor: Copy-Click/one-click insert of browser item name
  227.          -- you can now option-click on an item in the browser on the
  228.          left, to insert that item into the source code. E.g., to insert
  229.          the name of a property or method without typing it, just
  230.          option-click that property or method in the list. (This extends
  231.          the existing function of option-clicking words and expressions
  232.          in the source code.)
  233.  
  234.   (IDE)  Code Editor: Double-click selection now works for
  235.          floating-point, hex, binary, and octal numbers.
  236.  
  237.   (IDE)  Code Editor: Double-clicking a parenthesis now selects the
  238.          entire parenthesized text (both parentheses and everything
  239.          between them).
  240.  
  241.   (IDE)  Code Editor: Double-clicking on a quotation mark now selects
  242.          the entire quoted string (both quotation marks and everything
  243.          between them).
  244.  
  245.   (IDE)  Code Editor: Horizontal scroll bar in code editor now adjusts
  246.          to actual range of text.
  247.  
  248.   (IDE)  Code editor: Menu Item "Copy and Append" allows you to copy
  249.          text and append it to previously existing text in the
  250.          clipboard. This is very useful if you want to copy several
  251.          pieces of code to one central location. The item appears in the
  252.          edit menu if you hold down the option key. Option-Command-C is
  253.          the shortcut.
  254.  
  255.   (IDE)  Code editor: Menu Item "Cut and Append" allows you to cut text
  256.          and append it to previously existing text in the clipboard.
  257.          This is very useful if you want to move several pieces of code
  258.          to one central location. The item appears in the edit menu if
  259.          you hold down the option key. Option-Command-X is the shortcut.
  260.  
  261.   (IDE)  Code Editor: navigation buttons now update the selection in the
  262.          list box on the left, as well as the source code area on the
  263.          right when you use the "Forward" and "Back" navigation buttons.
  264.  
  265.   (IDE)  Code Editor: new navigation buttons which perform the following
  266.          functions: bring Window editor to the front (the opposite of
  267.          double-clicking a  control -- note: option-Tab is a keyboard
  268.          shortcut for this); show/hide empty methods and handlers; go to
  269.          previous method (i.e., the one previously accessed); go to next
  270.          method (the one more recently accessed) The latter two are like
  271.          the back/forward buttons in a web browser. Please note that
  272.          this feature is just a prototype and may not appear in
  273.          REALbasic 3.0.
  274.  
  275.   (IDE)  Code Editor: pasting of indented code into the Code Editor now
  276.          ignores leading white space so auto indentation is correct.
  277.  
  278.   (IDE)  Code Editor: Property, Method, and New Event dialogs now
  279.          support autocompletion (though they do not support the pop-up
  280.          list of choices).
  281.  
  282.   (IDE)  Code Editor: Show Empty Methods button no longer collapses
  283.          controls in the code editor list box.
  284.  
  285.   (IDE)  Code Editor: Syntax coloring has been extended to differentiate
  286.          literal numbers and literal strings from other code.
  287.  
  288.   (IDE)  Code Editor: triple-clicking now selects an entire line.
  289.  
  290.   (IDE)  Code Protection: substantially changed and improved. You can
  291.          now encrypt (protect) or decrypt (unprotect) a module while
  292.          it's in your project, using a command in the Edit menu or in
  293.          the contextual menu within the project window. When encrypting
  294.          a module, you now supply a password which can be used to
  295.          decrypt it later. At the same time, you may check an "allow
  296.          conversion to 2.1 format" checkbox -- this is significant
  297.          because the 2.1 file format uses much weaker encryption, but is
  298.          necessary if your code is to be used with REALbasic 2.1. NOTE:
  299.          only modules exported in the "standard" (version 3) format can
  300.          contain a password; 2.1 export files lose the password and
  301.          cannot be decrypted. NOTE: Don't forget your password.
  302.  
  303.   (IDE)  Constants: value is now shown in browser along with name and
  304.          icon.
  305.  
  306.   (IDE)  Debugger: ArrayViewer -- All of the benefits of the new Object
  307.          viewer are now part of the ArrayViewer as well.
  308.  
  309.   (IDE)  Debugger: Double local variables can now be changed in the
  310.          debugger just like other basic types.
  311.  
  312.   (IDE)  Debugger: Object viewer -- much more powerful: it's modeless -
  313.          you can keep the Object viewer open while running and  stepping
  314.          through your code.; It's resizable - so you can see the entire
  315.          length of a folderitem, or  other long items.; It displays its
  316.          name and type - makes it much easier to identify which  Object
  317.          viewer to pay attention to.; Only one is created per object -
  318.          see object's relationships with each  other.; Object viewer
  319.          remembers its position - it opens in its last position  on your
  320.          screen.; Object viewer shares its Object's persistence - Object
  321.          viewer windows  disappear when the object they are referring to
  322.          is garbage collected - Use this to check for memory leaks (If
  323.          the Object viewer for that object is still open you may have a
  324.          leak.)
  325.  
  326.   (IDE)  Debugger: Stepping skips lines with comments or spaces only
  327.          unless a breakpoint is set on such a line.
  328.  
  329.   (IDE)  Default Stationery: upon launch or use of the "New" command,
  330.          REALbasic looks for a stationery file called "Default New
  331.          Project" in the Stationery folder. If found, this is loaded (as
  332.          Untitled) instead of the built-in default project.
  333.  
  334.   (IDE)  Exported Code: may be saved in either 2.1 or standard (version
  335.          3) format. If you just drag a module to the Finder, it's saved
  336.          in standard format, but by using the Export menu command, you
  337.          can choose either standard or Version 2.1 format.
  338.  
  339.   (IDE)  File Types: pop-up list of suggested file types now includes
  340.          three special types; the first applies to all platforms, while
  341.          the latter two apply only to Mac OS. The new types are:
  342.          "special/any", creator '????', type '????'; "special/folder",
  343.          creator 'MACS', type 'fold'; "special/disk", creator 'MACS',
  344.          type 'disk'
  345.  
  346.   (IDE)  Floating point values' display in the IDE will now changes
  347.          intelligently when the window size is changed. To see more
  348.          precision just resize the Properties Window, Object viewer, or
  349.          ArrayViewer.
  350.  
  351.   (IDE)  Keyboard Shortcut: Debugger -- adding/clearing a breakpoint now
  352.          has a keyboard shortcut, Cmd-B.
  353.  
  354.   (IDE)  Keyboard Shortcut: Online Reference -- now accessible with the
  355.          Help key (equivalent to command-1).
  356.  
  357.   (IDE)  List box: font, font size, and font style now displays in the
  358.          Window editor.
  359.  
  360.   (IDE)  List box: HeadingIndex can now be set from the properties
  361.          window and it will a visible effect on the list box when set.
  362.  
  363.   (IDE)  List box: headings can now be replaced by one call. Use an
  364.          index of -1 and set them to a tab delimited string. E.g.
  365.          listBox1.heading(-1) = Fred" + chr(9) + "Tom" + chr(9) +
  366.          "Harold"."
  367.  
  368.   (IDE)  List box: Initial Value text now displays in the IDE.
  369.  
  370.   (IDE)  List box: is now more interactive in the design environment.
  371.          The following properties now have a visible effect on the list
  372.          box in the design environment: hasHeading, scrollPositionX,
  373.          HeadingIndex, Initial Value (only for list boxes with
  374.          Headings). These next properties improved in their
  375.          interactivity: enabled, columnCount, columnWidth.
  376.  
  377.   (IDE)  List box: ScrollPosition is now settable from the IDE. Use this
  378.          to test how the property behaves.
  379.  
  380.   (IDE)  Menu: Save is only enabled when the project has changed.  You
  381.          can use this to help you verify that the project is in fact
  382.          saved in its current state.
  383.  
  384.   (IDE)  Menus: Keyboard shortcut for Save As... menu item added
  385.          (shift-command-S)
  386.  
  387.   (IDE)  Movie Player: Appearance in the design environment and in
  388.          running applications now more similar. Controllers and badges
  389.          display when specified, and the control looks visually distinct
  390.          from Canvases even when no controller is visible (it's now a
  391.          deep blue rectangle with a movie icon in the center).
  392.  
  393.   (IDE)  ObjectViewer/ArrayViewer: now appear in the window menu (as
  394.          appropriate)
  395.  
  396.   (IDE)  Online Reference: default mode can be changed from "Search" to
  397.          "Go" via a new Preferences option.
  398.  
  399.   (IDE)  Online Reference: go to -- type the name of the class, method,
  400.          or keyword you're looking into the topic field and press Return
  401.          or click Go to quickly find an entry.
  402.  
  403.   (IDE)  Online Reference: navigation buttons added to give you the
  404.          ability to step forward and back through recently accessed
  405.          items, or return to the introduction.
  406.  
  407.   (IDE)  Online reference: position and state are now remembered between
  408.          REALbasic sessions.
  409.  
  410.   (IDE)  Online Reference: search -- type a word that isn't in the topic
  411.          list (or add a space at the end of the word) or holding the
  412.          Option key to make the "Search" button appear. Then press
  413.          return or click Search. Search results are shown in the list on
  414.          the left. Searches are done with whole-word, case-insensitive
  415.          matching. Currently only the first word in the search field is
  416.          used; any subsequent words are ignored. Click the Theme or
  417.          Alpha buttons to return to the full topic list.
  418.  
  419.   (IDE)  Online Reference: Searching with the theme bevel button
  420.          depressed now expands the theme and selects the relevant item
  421.          instead of selecting the theme.
  422.  
  423.   (IDE)  Project items: Finding External Files -- Now REALbasic searches
  424.          smarter when looking for external files. it now always looks in
  425.          the folder that contains the project (if available). It also
  426.          looks in the folders of any previously found items, including
  427.          from other projects in the same REALbasic session. This last
  428.          bit was designed for those of you that like to store common
  429.          pictures, sounds etc. between projects (such as icons you use
  430.          in every project). If you ever move a common resource folder
  431.          just open all the affected projects and save them. You will
  432.          only need to specify the common items once.
  433.  
  434.   (IDE)  Project Window: contextual menu support added --
  435.          control-clicking project items now pops up a contextual menu of
  436.          things you can do to those items. The options vary depending on
  437.          the type of the item, but may include: Edit - open the item for
  438.          editing within REALbasic.; Delete - remove the item from the
  439.          project.; View - view the item within REALbasic.; Play - play
  440.          the sound.; Open File - for items stored externally, open the
  441.          file as if  double-clicked in the Finder.; Reveal in Finder -
  442.          open the file's folder in the Finder and highlight  the file.;
  443.          File Path - a hierarchical menu allowing you to open any folder 
  444.          enclosing the file.; Relocate - choose a new external file to
  445.          associate with the item.
  446.  
  447.   (IDE)  Project Window: Drag and drop folders from the project window
  448.          to the finder, and vice versa.
  449.  
  450.   (IDE)  Project Window: external editing -- double-clicking items which
  451.          can't be edited within REALbasic (e.g., pictures and scripts)
  452.          now opens them externally, as if you'd double-clicked them in
  453.          the finder.
  454.  
  455.   (IDE)  Project Window: keyboard shortcut -- when an item is selected,
  456.          you can press the Tab key to jump to the Name field in the
  457.          Properties window to change the item's name (even if the
  458.          Properties window was previously hidden).
  459.  
  460.   (IDE)  Project Window: now displays a little padlock badge on
  461.          protected modules. (This is one part of a larger change to the
  462.          interface for protected items.)
  463.  
  464.   (IDE)  Properties Window: Negative numbers now appear in red.
  465.  
  466.   (IDE)  Registration Dialogs: Redone for version 3.
  467.  
  468.   (IDE)  Registration: If REALbasic is already in use on the network,
  469.          you are now given the option to re-register your copy.
  470.  
  471.   (IDE)  Registration: REALbasic now ignores return characters that
  472.          proceeding or following anything in the registration dialog,
  473.          and removes them for the serial number field and the previous
  474.          serial number field. This is useful if you accidently copy the
  475.          return char when registering REALbasic.
  476.  
  477.   (IDE)  Registration: REALbasic now uppercases all text that is entered
  478.          into the Serial number field and the previous serial number
  479.          field and doesn't allow you to type spaces.
  480.  
  481.   (IDE)  Scroll Bar: Appearance in the design environment and in running
  482.          applications now more similar. The following properties of
  483.          scroll bars are now interactive in the design environment:
  484.          Value, PageStep, Minimum and Maximum.
  485.  
  486.   (IDE)  Slider: Appearance in the design environment and in running
  487.          applications now more similar. The following properties of
  488.          sliders are now interactive in the design environment: Value,
  489.          Minimum  and Maximum.
  490.  
  491.   (IDE)  Stationery: create stationery pads when saving a file. Do this
  492.          by using the Stationery Option" command in the Navigation
  493.          Services pop-up menu, or if you don't have Navigation Services,
  494.          click the "Stationery" checkbox in the Save As dialog.
  495.  
  496.   (IDE)  Tool bar: balloon help now provided for plugin controls.
  497.  
  498.   (IDE)  Tool bar: separators visually divide the controls into several
  499.          groups: decorations at the top, input/output controls in the
  500.          middle, invisible controls third, and plugin controls at the
  501.          bottom.
  502.  
  503.   (IDE)  Tool bar: tool bar has new look and feel. Functionality should
  504.          be mostly the same, but you'll note that some controls are
  505.          available in two versions (e.g., a vertical and horizontal
  506.          scrollbar).
  507.  
  508.   (IDE)  Toolbar: may be switched between vertical and horizontal by
  509.          option-clicking the close box.
  510.  
  511.   (IDE)  Toolbar: mouse-over and mouse-down colors are now taken from
  512.          the Appearance Manager settings (the "Variation" color);
  513.          requires Appearance Manager 1.1 or later.
  514.  
  515.   (IDE)  Viewers: Array viewers now have a Pop-up for viewing specific
  516.          object properties either side by side or as the whole element.
  517.  
  518.   (IDE)  Window Editor: Edit field background and foreground colors now
  519.          display properly in the IDE.
  520.  
  521.   (IDE)  Window Editor: Edit field with the password property set
  522.          displays bullets instead of the text in the IDE.
  523.  
  524.   (IDE)  XML Export/Import: lengthy XML conversions show watch cursor.
  525.  
  526.   (IDE)  XML Export: projects can now be exported to the new XML format
  527.          by using the "Save As" command, then choosing "XML" from the
  528.          Format pop-up menu. When you choose XML format, you are really
  529.          doing an export, not a save; the project stays associated with
  530.          its original file location. Finally, note that you may need to
  531.          increase the memory allotted to REALbasic when using XML
  532.          export.
  533.  
  534.   (IDE)  XML Export: strings containing ASCII values less than 32 are
  535.          now represented with a special "<Hex>" tag, enclosing the
  536.          hexadecimal encoding of the entire string.
  537.  
  538.   (IDE)  XML Import: projects can now be imported from XML via the
  539.          normal "Open" file dialog. All text files will now show up in
  540.          the Open dialog, but only those which contain proper XML data
  541.          can actually be read. If the read is successful, a new project
  542.          called "SomeXMLFile (Converted)" will be created, where
  543.          "SomeXMLFile" was the name of the XML file. Finally, note that
  544.          you may need to increase the memory alloted to REALbasic when
  545.          using XML import.  The AppleScript syntax is the same as for
  546.          opening any other file ('tell application "REALbasic" to open
  547.          someFile').
  548.  
  549.   (Mac)  AutoDeactivate: this new Boolean control property, true by
  550.          default, allows you to control whether a control should be
  551.          deactivated (on Mac OS) when the window is deactivated.
  552.  
  553.   (Mac)  Balloon Help: when one help message (enabled or disabled) is
  554.          not available, the other is shown instead.  This makes common
  555.          work arounds (putting the same text in both help messages, or
  556.          putting something in the enabled help even for controls which
  557.          are always disabled) unnecessary (though they will still work).
  558.  
  559.   (Mac)  Edit field: Multi-Line edit fields have improved performance
  560.          when setting the text property.
  561.  
  562.   (Mac)  Folder Properties: when a FolderItem now refers to an actual
  563.          folder (rather than a file), the "MacType" property now returns
  564.          "fold" and the "MacCreator" value is "MACS" (instead of empty
  565.          strings). In addition, the "Type" property will now return a
  566.          matching file type, if you have one defined.
  567.  
  568.   (OSX)  Plug-in support: REALRegisterEventFilter now works for Carbon.
  569.          Note that this has not yet been thoroughly tested; please try
  570.          it and let us know if it works for you (3b2).
  571.  
  572.   (OSX)  Project window: close button displays a dot when the project
  573.          has changed. Note: this feature is not present in the Public
  574.          Beta of Mac OS X (nor in previous versions of the Mac OS).
  575.  
  576.   (OSX)  QuitMenuItem: when running under Mac OS X, a menu item of class
  577.          QuitMenuItem will be mapped to the special quit command in the
  578.          application menu. You can still set, get, and change the text
  579.          of this item, but other changes (such as the command key
  580.          shortcut) have no effect. Under Classic Mac OS or or Win32,
  581.          your QuitMenuItem stays put and behaves as it always has.
  582.  
  583.   (OSX)  Shell class: used to execute UNIX shell commands and get the
  584.          results. It has a single method called "Execute" which executes
  585.          a one-line UNIX command. This causes two properties on the
  586.          Shell object to change: ErrorCode, which is a system-supplied
  587.          error code or 0 for no error; and Result, which is a string
  588.          containing the output of the command.
  589.  
  590.   (Win)  Accelerator Keys: PushButtons, BevelButtons, Checkboxes,
  591.          RadioButtons, and Tab Panels now support accelerator keys.
  592.          Accelerator keys (or short cut keys) are underlined under
  593.          Windows. To register a key as an accelerator key, preceed the
  594.          key with an ampersand, i.e. the caption "Go &Home" for a
  595.          PushButton registers the 'H' key as an accelerator key.
  596.          Pressing ALT+H on Windows will trigger the Action event of the
  597.          PushButton.
  598.  
  599.   (Win)  Screen and ScreenCount: Now support multiple monitor Win32
  600.          systems. Multiple monitors is only available on systems that
  601.          are Win98/Win2k or newer.
  602.  
  603.   (Win)  Shell class: execute DOS shell commands and get the results. It
  604.          has a single method called "Execute" which executes a one-line
  605.          DOS command. This causes two properties on the Shell object to
  606.          change: ErrorCode, which is a system-supplied error code or 0
  607.          for no error; and Result, which is a string containing the
  608.          output of the command. A "TimeOut" property was added, which is
  609.          an integer data type that specifies how long (in milliseconds)
  610.          a process can run before it is automatically terminated. A
  611.          value of -1 means the process can run indefinitely. This
  612.          property, currently, only applies to Windows (not needed on Mac
  613.          OS X). The default value for "TimeOut" is 2000, or 2 seconds.
  614.  
  615.   (Win)  Sliders: now appear as sliders in Win32 and not as scroll bars.
  616.  
  617.   (Win)  Tool tips: Windows controls now support tool tips. Assign some
  618.          text to the HelpTag property of a control, and leave your mouse
  619.          pointer over a control to display it.
  620.  
  621.  
  622. This release contains the following improvements to previously existing
  623. features:
  624.   (All)  List box: Reduced flicker for list boxes when using horizontal
  625.          scrolling.
  626.  
  627.   (IDE)  Code Editor: flicker seen when adding code to a new method
  628.          while in "Hide Empty Items" mode has been reduced.
  629.  
  630.   (IDE)  Errors: REALbasic now reports a better error message when
  631.          builds fail as a result of passing floating point values by
  632.          ref.
  633.  
  634.   (IDE)  Properties window: improved look under Mac OS X (Aqua).
  635.  
  636.   (Mac)  Listbox: improved look under Mac OS X (Aqua).
  637.  
  638.   (Mac)  Plug-in support: REALRegisterEventFilter now allows you to
  639.          receive event types which do not go through our usual queue,
  640.          such as updateEvt, osEvt, and others which we may ignore. Two
  641.          caveats: first, these may appear out of order relative to
  642.          events which go through our queue; second, some events (like
  643.          mouseUp) appear only under certain circumstances (since they
  644.          may be filtered directly by the Event Manager).
  645.  
  646.  
  647. This release contains the following optimizations for improved
  648. performance:
  649.   (All)  InStr: now about 30% faster.
  650.  
  651.   (All)  InStrB: now about 25% faster for small searches; large searches
  652.          scale substantially better since a different algorithm is used.
  653.  
  654.   (All)  NthField: now about 50% faster.
  655.  
  656.   (All)  Object destruction: linked objects destruction algorithm
  657.          substantially improved; it is now both safer and faster.
  658.          Previously, releasing the head of a long chain of objects could
  659.          result in a crash (stack overflow). This is no longer possible;
  660.          any chain of objects which fit into memory in the first place
  661.          can be safely deallocated.
  662.  
  663.   (IDE)  Code Editor: typing in very long methods now considerably more
  664.          responsive (only recalculates the vertical scrollbar when the
  665.          number of source code lines has actually changed).
  666.  
  667.   (IDE)  Properties Window: fills values in more quickly (most apparent
  668.          on slower machines).
  669.  
  670.   (Mac)  CPU Usage: REALbasic and REALbasic-built applications no longer
  671.          appear to consume most of the CPU cycles even when idle; they
  672.          now "sleep" up to 1/3 second in between events. This applies
  673.          even when there are active timers, but does NOT apply when
  674.          there are active threads (threads use CPU cycles as always).
  675.  
  676.  
  677. Here are some tips for getting the most out of this new release:
  678.   (All)  Listbox: If you want miniature scrollbars or scrollbars that
  679.          leave room for status bars or buttons just set
  680.          ScrollBarVertical to false and ScrollBarHorizontal to false and
  681.          add your own scrollbars and tie their value properties to
  682.          ScrollPosition and ScrollPositionX respectively.
  683.  
  684.   (Car)  Control.BalloonHelp: if you provide both a HelpTag and a
  685.          BalloonHelp (or DisabledBalloonHelp) value for a control, users
  686.          under Carbon or OS X will be able to switch from the short help
  687.          tag to the longer balloon help by pressing the command key.
  688.  
  689.   (IDE)  Project items: Finding External Files -- In the very rare event
  690.          that REALbasic guesses the incorrect external file for your
  691.          sound, picture etc. just control click on the item and choose
  692.          Relocate. You will then be able to correct REALbasic's
  693.          incorrect assumption.
  694.  
  695.   (IDE)  Workflow: quickly create, name, and edit a new class by using
  696.          the New Class command, hit Tab, type the class name, press
  697.          return to accept, and press return again to open the code
  698.          editor. Works for modules and interfaces too.
  699.  
  700.  
  701. Here are some notes to keep in mind while using this release:
  702.   (All)  Sprite surface: may need more RAM now due to higher bit depth.
  703.          Rough estimate of the RAM needed for the surface, not counting
  704.          sprites, is: (depth/8) * width * height + (depth/8) *
  705.          (width+128) * (height+128)
  706.  
  707.   (IDE)  Sprite surface: new features not available in older versions.
  708.          Using the new Sprite surface features will result in compiler
  709.          errors if you attempt to compile the project with an earlier
  710.          version of the IDE.
  711.  
  712.  
  713. This release contains the following changes to behavior:
  714.   (All)  Drag and Drop: dropping now supported by most controls.
  715.  
  716.   (All)  Edit Field: cursor and scroll position now moved to the top of
  717.          the edit field rather than the bottom when a value is assigned
  718.          to EditField.text.
  719.  
  720.   (All)  Language: obsolete keywords "of", "var", and "#bad" removed."
  721.  
  722.   (All)  List box: Adding a row in a listbox now commits any edits
  723.          before the add. This was done to be consistent with the
  724.          InsertRow and RemoveRow bug fixes.
  725.  
  726.   (All)  List box: Column widths are now always what the user specifies
  727.          (i.e. the last column doesn't grow to size of the rest of the
  728.          list box. Absent of any column specifications the headers will
  729.          be divided evenly. If there are less column widths specified
  730.          than the total number of columns the remaining columns will be
  731.          sized the same as the last specified column. Header End caps
  732.          are now added for any additional unused space if headers are
  733.          used. Header end caps will do nothing when clicked.
  734.  
  735.   (All)  Pop-up Menu: ListIndex is now 0 by default.
  736.  
  737.   (All)  Sprite surface: "ClickToClose" changed to "ClickToStop". The
  738.          old "ClickToClose" property is still available for use in code,
  739.          but it's deprecated (so use ClickToStop instead).
  740.  
  741.   (All)  Timers: periods of less than or equal to 0 now default to a
  742.          period of 1 millisecond.
  743.  
  744.   (IDE)  Auto Restore: Now remembers the name of your old project. The
  745.          name of the project after a restore will be "MyProject
  746.          (Restore)" if your project was named "MyProject"."
  747.  
  748.   (IDE)  Auto Restore: The backup file is now stored in the new file
  749.          format. This allows REALbasic to more fully restore your
  750.          settings to a pre-crash state.
  751.  
  752.   (IDE)  Autocomplete pop-up: choices now appear in alphabetical order.
  753.  
  754.   (IDE)  Balloon Help: About REALbasic... menu item is now available.
  755.  
  756.   (IDE)  Build dialog and Editor Settings dialog have been adjusted
  757.          slightly to look better under both Aqua and Platinum.
  758.  
  759.   (IDE)  Build Dialog: Compress checkbox no longer enabled for Carbon
  760.          builds.
  761.  
  762.   (IDE)  Build Dialog: Now is much more interactive. Options are enabled
  763.          and disabled based on selected checkboxes.
  764.  
  765.   (IDE)  Carbon Builds: an additional 512k of memory is added to Carbon
  766.          built applications.
  767.  
  768.   (IDE)  Code Editor: Add/Remove Comments behavior improved (it's now
  769.          reversible, existing comments are retained and persist, and it
  770.          leaves the affected lines selected).
  771.  
  772.   (IDE)  Code editor: default width increased by 144 pixels.
  773.  
  774.   (IDE)  Code Editor: double-click-and-drag behavior now matches Mac OS
  775.          standard.
  776.  
  777.   (IDE)  Code editor: Hide Empty Methods mode has changed slightly; you
  778.          may now delete the contents of a method or event handler
  779.          without losing access to it in the source pane.
  780.  
  781.   (IDE)  Code editor: Navigation Buttons -- constants no longer hidden
  782.          by Hide Empty Methods button.
  783.  
  784.   (IDE)  Code editor: scrolls all the way to the left when the cursor is
  785.          placed on the first character of a line.
  786.  
  787.   (IDE)  Database Editor: dialogs used for editing database schema has
  788.          been changed for clarity and ease of use. Functionality remains
  789.          the same and depends on the capabilities of the database type.
  790.  
  791.   (IDE)  Database plug-ins are now external rather than internal. The
  792.          database plug-ins are: CSV Database Plug-in, OpenBase Database
  793.          Plug-in, PostgreSQL, DBF Database Plug-in, OracleOCI 7.1
  794.          Plug-in, ODBC Database Plug-in, dtfSQL Database Plug-in,
  795.          Assorted 4D Plug-ins (6.0, 6.5, and 6.7 in ADSP and TCP/IP
  796.          flavors)
  797.  
  798.   (IDE)  Default Window Position: adjusted so it doesn't overlap the
  799.          toolbar in the toolbar's default position. (Note: this only
  800.          affects new projects, and only as seen in the IDE.)
  801.  
  802.   (IDE)  Dialogs for editing properties, methods, and events are now
  803.          movable Modal.
  804.  
  805.   (IDE)  Icons: updated for more modern appearance.
  806.  
  807.   (IDE)  IDE Memory Allocation: increased from 5500K to 8192K (but
  808.          minimum allocation remains 4500K).
  809.  
  810.   (IDE)  Language Reference: Window retitled "Language Reference"
  811.  
  812.   (IDE)  License Agreement Dialog readied for localization.
  813.  
  814.   (IDE)  List box: horizontal scrollbar now uses 16 for the linestep
  815.          value, as the finder does.
  816.  
  817.   (IDE)  List box: properties window -- all scrolling properties are
  818.          grouped together.
  819.  
  820.   (IDE)  List box: The default header now is set to the column number
  821.          only -- instead of "Field1" it's "0""
  822.  
  823.   (IDE)  List box: You must use a space if you want an empty header,
  824.          empty strings will use the default header: ListBox1.heading(-1)
  825.          = "" sets all headers of listbox1 to their defaults.;
  826.          ListBox1.heading(5) = "" sets column 5's heading to its default
  827.          heading; listbox1.heading(5) = " " sets column 5's heading to
  828.          empty.
  829.  
  830.   (IDE)  Menu item: "Editor Settings" has been renamed "Preferences".
  831.  
  832.   (IDE)  Menu Item: Cut And Append's keyboard shortcut has been
  833.          re-assigned to Shift-Cmd-X to more closely pair with "Copy and
  834.          Append's new keyboard shortcut."
  835.  
  836.   (IDE)  Menu Shortcut: The Build Application menu shortcut has been
  837.          changed from Cmd-M to Cmd-Shift-M to accomodate Mac OS X. Mac
  838.          OS X defines Cmd-M as minimize.
  839.  
  840.   (IDE)  Menu: "Reference" re-labeled "Language Reference"
  841.  
  842.   (IDE)  Menus: Adding a method, constant, property or event is no
  843.          longer prohibited during a debug session. REALbasic used to
  844.          have this capability before Jun 30 2000.
  845.  
  846.   (IDE)  Menus: Show Locals menu renamed to Show Variables (and similar
  847.          for "Hide Locals").
  848.  
  849.   (IDE)  Menus: Show/Hide Variables and Show/Hide Stack menu items are
  850.          now in the Window menu
  851.  
  852.   (IDE)  Movie player: displays a lighter blue background color to match
  853.          the "no signal" color on new TV's and the displays the Movie
  854.          player icon from the tool bar.
  855.  
  856.   (IDE)  Movie Player: new toolbar icon at its center instead of the old
  857.          one.
  858.  
  859.   (IDE)  Navigation Buttons: Hide Empty Methods button no longer hides
  860.          properties.
  861.  
  862.   (IDE)  Online Reference: after a search, if there is an exact topic
  863.          match, that topic selected first (rather than whatever topic
  864.          happens to be at the top of the search results).
  865.  
  866.   (IDE)  Online Reference: now does "Search" by default instead of "Go"
  867.          (default mode can be changed from "Search" to "Go" via a new
  868.          Preferences option).
  869.  
  870.   (IDE)  Online Reference: Pressing the Go button after a successful
  871.          search for an item that is not in the search list will display
  872.          the item in the themes list.
  873.  
  874.   (IDE)  Online Reference: topic is highlighted in the topics list on
  875.          the left side of the window whenever a topic is changed,
  876.          whether by clicking a hyperlink or typing it in the new topic
  877.          field.
  878.  
  879.   (IDE)  Pop-up menu: InitialValue, and ListIndex property in the Window
  880.          Editor now accurately reflected. For example if you have "Zero,
  881.          One, Two, Three" as Initial Values and 2 as the ListIndex of a
  882.          selected Pop-up, the Pop-up will display the word "Two" in the
  883.          IDE window editor.
  884.  
  885.   (IDE)  Preferences: Layout changed slightly to accomodate string
  886.          change "Online Help" -> "Language Reference"
  887.  
  888.   (IDE)  Preferences: REALbasic now loads and saves its preferences in
  889.          the file "REALbasic3 Prefs". REALbasic will read your old prefs
  890.          the first time it is run, so that you don't have to re-specify
  891.          all your preferences.
  892.  
  893.   (IDE)  Project file format: REALbasic 3 has an all new file format.
  894.          For alpha releases you can choose whether to use the new format
  895.          or the version 2.1.2 format:; New projects have the new
  896.          ("Standard Project") format by default, you can choose whether
  897.          to use that or the 2.1.2 format when you save.; Use the "Save
  898.          As" command, to choose between Standard Project format and the
  899.          older one.; Projects are saved in the same format in which they
  900.          are opened.
  901.  
  902.   (IDE)  Project Window: list is now drawn in 10-point Geneva, and items
  903.          which are stored external to the project file are labelled in
  904.          italics.
  905.  
  906.   (IDE)  Project Window: when you create a new class, module, or
  907.          interface, the item is simply selected in the project window
  908.          rather than opening the Code Editor immediately.
  909.  
  910.   (IDE)  Properties Window: cosmetic improvements, including a better
  911.          look under Aqua.
  912.  
  913.   (IDE)  PushButton: now 69 pixels by default, per the Aqua standard
  914.          (looks OK on Classic/Win32 too).
  915.  
  916.   (IDE)  Registration: Now gives explicit feedback when you register as
  917.          a pro customer. REALbasic already gave feedback in other cases.
  918.  
  919.   (IDE)  Shared Libraries: icon now have a more appropriate appearance
  920.          in the Project window.
  921.  
  922.   (IDE)  Toolbar: flip between horizontal and vertical toolbars by
  923.          clicking the zoom box, rather than by option-clicking the close
  924.          box.
  925.  
  926.   (IDE)  Various Dialogs: adjusted to have a more proper appearance
  927.          under Aqua (Mac OS X).
  928.  
  929.   (IDE)  Viewers: window titles for Object viewers and Array viewers are
  930.          now more consistent with REALbasic syntax.
  931.  
  932.   (IDE)  Window Editor: Alignment guides are now darker (and so easier
  933.          to see under OS X).
  934.  
  935.   (IDE)  Window Editor: selection handles are now drawn even when
  936.          multiple controls are selected (for improved visibility).
  937.  
  938.   (IDE)  Windows: new windows are document windows by default instead of
  939.          a modal ones, with the name Window# instead of Dialog#.
  940.  
  941.   (IDE)  XML Export: XML files now have a creator code of REALbasic
  942.          rather than BBEdit.
  943.  
  944.   (Mac)  CompressPPC: this option has been removed per Apple's request.
  945.  
  946.   (Mac)  Menu Text: ampersand symbols will display only if they are
  947.          preceded by another ampersand symbol. This is to make the
  948.          Windows and Mac platforms behave consistently. Note: old
  949.          projects with single ampersands will have to be updated.
  950.  
  951.   (Mac)  PushButtons, BevelButtons, Checkboxes, RadioButtons, Tab Panels
  952.          and Groupboxes: The caption of these controls that contain
  953.          ampersand symbols will display only if they are preceded by
  954.          another ampersand symbol. This is to make the Windows and Mac
  955.          platforms behave consistently. Note: old projects with single
  956.          ampersands will have to be updated.
  957.  
  958.   (OSX)  Menu item: "Editor Settings" (now "Preferences") appears in the
  959.          Application menu on Mac OS X.
  960.  
  961.   (Win)  ApplicationSupportFolder: now returns the Windows directory
  962.          folder.
  963.  
  964.   (Win)  Control Activation: controls no longer deactivate when a window
  965.          is deactivated in Win32, per normal Win32 application behavior.
  966.  
  967.   (Win)  Edit Field: point size was reduced slightly to match the point
  968.          size of other controls. This fixes the bug when editing a cell
  969.          in a list box, the edit field text does not completely fit
  970.          inside the cell, consequently some of the text was not visible.
  971.  
  972.   (Win)  Edit fields: background color is grayed out when the edit field
  973.          is disabled, (unless you've modified the Back color). With
  974.          unstyled Edit fields, the text is also grayed out.
  975.  
  976.   (Win)  MsgBox: icon more consistent with the Mac MsgBox.
  977.  
  978.   (Win)  Windows: fixed problem with windows disappearing behind the
  979.          main window. Reverted to the previous behavior as this fix
  980.          broke other things.
  981.  
  982.  
  983. The following bugs were fixed in this release:
  984.   (68k)  List box: Scroll bars now appear in 68k applications if their
  985.          properties are turned on in the IDE.
  986.  
  987.   (All)  Bevel Button: Fixed a bug which caused rare crashes when
  988.          destroying a bevel button containing an icon. (Could possibly
  989.          apply in other circumstances, too.)
  990.  
  991.   (All)  Bevel Buttons: Enabled setting in the IDE now reflected by the
  992.          running application. There was a bug which caused these to
  993.          always begin enabled when run.
  994.  
  995.   (All)  Binding: Memory leak fixed.
  996.  
  997.   (All)  Command Keys: now pass through to the KeyDown event handler(s)
  998.          if they don't match any enabled menu item.
  999.  
  1000.   (All)  Compiler: oversized integer literals (greater than 2147483647
  1001.          or less than -2147483647) are now parsed as doubles, even
  1002.          without a decimal point. Previously, oversized integer literals
  1003.          were interpreted as a completely different number (due to
  1004.          high-byte truncation).
  1005.  
  1006.   (All)  Database:  PostgreSQL connectivity -- now accessible both from
  1007.          classic Mac OS and Win32.
  1008.  
  1009.   (All)  Database: closing a database occasionally crashed -- fixed.
  1010.  
  1011.   (All)  Database: PostgreSQL Field Schema -- previously only worked if
  1012.          the table name was given in lower case; now works in a
  1013.          case-insensitive manner.
  1014.  
  1015.   (All)  Database: PostgreSQL Field schema: char(n) fields (fixed-length
  1016.          character fields) length is now reported as n (the declared
  1017.          field length) instead of -1.
  1018.  
  1019.   (All)  Database: PostgreSQL Field schema: IsPrimary column returns as
  1020.          a Boolean value ("false") rather than an integer ("0"). Note
  1021.          that IsPrimary is always false for PostgreSQL databases.
  1022.  
  1023.   (All)  Database: PostgreSQL Field schema: reports 35 different data
  1024.          types (compared to previous 8).
  1025.  
  1026.   (All)  DatabaseCursorField.DateValue: assignments to this property
  1027.          store the time as well as the date, as with DatabaseRecords.
  1028.          When getting a value, the resulting Date object may now contain
  1029.          a time as well as a date. For fields of type "Date", the time
  1030.          will be 00:00:00 (midnight); and for fields of type "Time", the
  1031.          date will be January 1, 0001. Fields of type "TimeStamp"
  1032.          contain valid data for both the date and time (and this is now
  1033.          supported).
  1034.  
  1035.   (All)  DatabaseRecord.DateColumn: assignments to this property now
  1036.          store the time as well as the date, to support the SQL
  1037.          "TimeStamp" and "Time" field types (as well as "Date"). Note
  1038.          that if the date part is January 1, 0001, then this is converts
  1039.          to SQL as just a time ("18:54:00"), whereas if the date is
  1040.          anything else, it converts to SQL in full form ("2000-5-30
  1041.          18:54:00").
  1042.  
  1043.   (All)  Dynamic Controls: Memory leak  fixed both within the IDE and in
  1044.          built applications.
  1045.  
  1046.   (All)  FolderItem.Type: now reports the correct type even when a
  1047.          wildcard type ("????") is among the file types defined in the
  1048.          project settings.
  1049.  
  1050.   (All)  List box: alignment -- left hand margin of the list box no
  1051.          longer overwritten when the alignment isn't left and the data
  1052.          is too long to fit.
  1053.  
  1054.   (All)  List box: clicks in the disabled scroll bar of a list box no
  1055.          longer fall through to select a row.
  1056.  
  1057.   (All)  List box: Deleting a row in a list box now commits any edits
  1058.          before the remove occurs. This prevents the editable cell from
  1059.          clobbering the contents of the wrong cell.
  1060.  
  1061.   (All)  List box: Deleting rows in a list box with horizontal
  1062.          scrollbars no longer produces screen trash in the bottom of the
  1063.          listbox.
  1064.  
  1065.   (All)  List box: Editable cells in listboxes now resize immediately
  1066.          when listboxes are resized, moved scrolled, or scrollbars are
  1067.          added or removed.
  1068.  
  1069.   (All)  List box: editable cells no longer overwrite their boundaries
  1070.  
  1071.   (All)  List box: Inserting a row in a list box now commits any edits
  1072.          before the insert. This prevents the editable cell from
  1073.          clobbering the contents of the wrong cell.
  1074.  
  1075.   (All)  List box: No longer scrolls 1 pixel horizontally in cases where
  1076.          it shouldn't scroll at all.
  1077.  
  1078.   (All)  List box: Resorting a list box now commits any edits before the
  1079.          resort. This prevents the editable cell from clobbering the
  1080.          contents of the wrong cell.
  1081.  
  1082.   (All)  List box: Right, Center, and Decimal aligned cells of listboxes
  1083.          now truncate their text based on cell size (left aligned was
  1084.          working previously) Decimal aligned text truncates by dropping
  1085.          digits after the decimal, and by adding "..." when dropping
  1086.          digits before the decimal place.
  1087.  
  1088.   (All)  Listbox: Fixed a problem that allowed you to add a horizontal
  1089.          or vertical scrollbar more than once. Now any attempt to do so
  1090.          will be ignored.
  1091.  
  1092.   (All)  Pop-up menu: RowTags memory leak fixed.
  1093.  
  1094.   (All)  Pop-up menus: RowTag method no longer crashes when given an
  1095.          invalid row number.
  1096.  
  1097.   (All)  PostgreSQL dates: field types Date, Time, and TimeStamp are now
  1098.          properly supported; use the DateColumn and DateValue accessors
  1099.          for a date representation of this data, or use StringValue to
  1100.          get a human-readable date and/or time.
  1101.  
  1102.   (All)  ReplaceAll: now correctly returns the sourceString when the
  1103.          oldString is "".
  1104.  
  1105.   (All)  SpriteSurface: fixed bug which caused a crash if the
  1106.          SpriteSurface had code in its Collision event, but no sprites
  1107.          in the surface had a nonzero Group.
  1108.  
  1109.   (All)  Stability: a type of crash caused by destructor recursion has
  1110.          been fixed.
  1111.  
  1112.   (All)  Stability: fixed a bug which caused occasional crashes when a
  1113.          plug-in control (e.g. a BevelButton) closed its own window.
  1114.  
  1115.   (All)  Tab Panels: Text properties can now be set without causing a
  1116.          compile-time error: TextFont, TextSize, Bold, Italic, and
  1117.          Underline.
  1118.  
  1119.   (All)  Timer: timer reliability improved; timers can no longer get
  1120.          stuck when the system tick count wraps around.
  1121.  
  1122.   (All)  Window activation: the REALbasic event "deactivate" occurs
  1123.          before the automatic control deactivation process introduced in
  1124.          a6 so that the old work around of storing the enabled state of
  1125.          controls in the Deactivate event still works.
  1126.  
  1127.   (All)  Window.DrawInto: now works correctly for all control types,
  1128.          with the following exceptions: Movie player: does not draw
  1129.          (draws a frame with a large X" instead).; Sprite surface: when
  1130.          drawn into another window, the position is wrong and in fact
  1131.          relates to the position of its original window; still works
  1132.          when printed, however.
  1133.  
  1134.   (Car)  BevelButton, Disclosure Triangle, and several other controls:
  1135.          fixed bug which caused these to crash in Carbon applications
  1136.          under MacOS 8/9 since 3.0a08 or so.
  1137.  
  1138.   (Car)  Command-Period: command-period now works in Carbon applications
  1139.          or in the Carbon IDE.
  1140.  
  1141.   (Car)  Compiling: basic.cpp Assertion failure while building Carbon
  1142.          applications no longer occurs.
  1143.  
  1144.   (Car)  FolderItem: a number of methods (e.g. Launch) which previously
  1145.          did nothing under Carbon have now been implemented.
  1146.  
  1147.   (Car)  IDE: Contextual Menus now work under Carbon.
  1148.  
  1149.   (Car)  List box: checkboxes within a list box no longer get stuck in
  1150.          the checked state in Carbon.
  1151.  
  1152.   (Car)  Menus: Apple Menu Items no longer appear twice in the Apple
  1153.          Menu within the Carbon IDE, and built applications.
  1154.  
  1155.   (Car)  Project resources: resources can now be added to a project in
  1156.          the Carbon IDE, and used as normal in Carbon builds.
  1157.  
  1158.   (Car)  Project window: Relocate contextual menu command -- now works
  1159.          correctly with resources, scripts, and XCMDs.
  1160.  
  1161.   (Car)  Runtime Printing: now works in the Carbon IDE and Carbon
  1162.          builds. Note: the SetupString property of the PrinterSetup
  1163.          class has changed format for Carbon. This format is internal
  1164.          and undocumented; don't count on it having any particular
  1165.          structure.
  1166.  
  1167.   (Car)  Source Printing: now works in the Carbon version of the IDE.
  1168.  
  1169.   (Car)  TargetCarbon: the Carbon version of REALbasic now compiles as
  1170.          Carbon when running in the IDE; you can verify this by checking
  1171.          the TargetCarbon built-in constant.
  1172.  
  1173.   (Car)  Threads: now work in the Carbon version of the IDE (as well as
  1174.          built applications).
  1175.  
  1176.   (Car)  Window Editor: Pushbuttons, GroupBoxes, RadioButtons, and
  1177.          CheckBoxes are no longer invisible if placed after a Listbox in
  1178.          the stacking order.
  1179.  
  1180.   (Car)  Window MaxWidth/MaxHeight: fixed bug which allowed the window
  1181.          to be stretched one pixel larger than the specified limits.
  1182.  
  1183.   (Car)  Windows now highlight when they should.
  1184.  
  1185.   (IDE)  "Save As" dialog once again remembers previous project name.
  1186.  
  1187.   (IDE)  AppleEvents: 'quit' AppleEvent sent to an application while it
  1188.          is running in the IDE now quits the application instead of
  1189.          crashing REALbasic.
  1190.  
  1191.   (IDE)  Array Viewer: Fixed a failed assertion that occurred when
  1192.          arrays weren't yet dimensioned.
  1193.  
  1194.   (IDE)  Array Viewer: Global Arrays of objects are now viewable and no
  1195.          longer cause a crash.
  1196.  
  1197.   (IDE)  ArrayViewer: Colors in Array viewers are no longer 2 times
  1198.          intended height.
  1199.  
  1200.   (IDE)  AutoRestore: now save its file in the preferences folder rather
  1201.          than the temp folder. Mac OS 9.1 purges the "Temporary Items
  1202.          Folder" at startup, making this a bad place to put this file.
  1203.          This change also improves the Multiple-User support since each
  1204.          user will have a copy their last AutoRestore project and not
  1205.          the last one used on the system.
  1206.  
  1207.   (IDE)  Balloon Help: balloons no longer flicker every time the mouse
  1208.          moves while running applications in the IDE.
  1209.  
  1210.   (IDE)  Build Errors: error messages are now more accurate when a build
  1211.          fails due to a plug-in that doesn't support the target
  1212.          platform, or a disk-related error.
  1213.  
  1214.   (IDE)  Build progress dialog: now correctly lists name of Carbon
  1215.          application being built.
  1216.  
  1217.   (IDE)  Build Settings: "68k" checkbox value is now saved (both in
  1218.          version 2.1 and in standard project files).
  1219.  
  1220.   (IDE)  Build Settings: "Language" pop-up value is now saved in
  1221.          standard(v3) project files.
  1222.  
  1223.   (IDE)  Code editor -- Hide Empty button fixed bug which caused this to
  1224.          hide events of controls, even when those events contained code.
  1225.  
  1226.   (IDE)  Code Editor:  command-key presses no longer fall through to the
  1227.          code editor when a running application is suspended in the
  1228.          debugger.
  1229.  
  1230.   (IDE)  Code Editor: Autocompletion -- Ellipsis character used to show
  1231.          partial autocompletion is now international-savvy.
  1232.  
  1233.   (IDE)  Code Editor: Autocompletion  no longer gets confused and
  1234.          crashes when you have a folder in your project with the same
  1235.          name as a class.
  1236.  
  1237.   (IDE)  Code Editor: Autocompletion -- no longer suggests "As" before
  1238.          the variable name.
  1239.  
  1240.   (IDE)  Code Editor: Autocompletion -- now recognizes parameters in
  1241.          functions as well as in subroutines.
  1242.  
  1243.   (IDE)  Code Editor: Autocompletion clears and recalculates any pending
  1244.          autocompletion whenever the cursor is moved (even if moved with
  1245.          the mouse).
  1246.  
  1247.   (IDE)  Code Editor: Autocompletion no longer gets confused in certain
  1248.          cases involving array properties.
  1249.  
  1250.   (IDE)  Code Editor: Autocompletion now knows about the InStrB and MidB
  1251.          functions.
  1252.  
  1253.   (IDE)  Code Editor: Autocompletion now knows what to do with variables
  1254.          whose type is a plug-in control.
  1255.  
  1256.   (IDE)  Code Editor: Autocompletion now understands user-defined
  1257.          functions better.
  1258.  
  1259.   (IDE)  Code Editor: Autocompletion pop-up -- control arrays now appear
  1260.          only once, rather than once for each instance.
  1261.  
  1262.   (IDE)  Code Editor: Autocompletion pop-up menu now cancels cleanly
  1263.          when you press Delete, Esc, etc.
  1264.  
  1265.   (IDE)  Code Editor: Autocompletion pop-up no longer causes occasional
  1266.          crashes when it's cancelled.
  1267.  
  1268.   (IDE)  Code Editor: copy-clicking an array property in the browser now
  1269.          inserts just the property name, without including its array
  1270.          size.
  1271.  
  1272.   (IDE)  Code Editor: copy-clicking an item in the browser now replaces
  1273.          selected text in the editor, rather than prepending the clicked
  1274.          item to the selected text.
  1275.  
  1276.   (IDE)  Code Editor: Copy-clicking no longer crashes when no source was
  1277.          selected.
  1278.  
  1279.   (IDE)  Code Editor: Double-clicking past the end of the last line no
  1280.          longer causes an assertion failure
  1281.  
  1282.   (IDE)  Code Editor: Double-clicking to select a word now works even
  1283.          when clicking the first character on a line.
  1284.  
  1285.   (IDE)  Code Editor: Drag-selection scrolls correctly in all
  1286.          directions.
  1287.  
  1288.   (IDE)  Code Editor: fixed a crash which could occur when invoking the
  1289.          code editor with option-tab and then copy-clicking a word in
  1290.          the browser pane.
  1291.  
  1292.   (IDE)  Code Editor: long lines (longer than 255 characters) now scroll
  1293.          all the way to the right.
  1294.  
  1295.   (IDE)  Code Editor: memory leak every time you closed a code editor is
  1296.          now fixed.
  1297.  
  1298.   (IDE)  Code Editor: Navigation Buttons no longer cause a crash when
  1299.          revisiting a deleted method. Now, when a method or handler is
  1300.          deleted, it is removed from the navigation history.
  1301.  
  1302.   (IDE)  Code Editor: Overloaded methods no longer confuse the IDE,
  1303.          causing it to jump to the wrong one as soon as you start
  1304.          typing.
  1305.  
  1306.   (IDE)  Code editor: replacing content of a method or event handler
  1307.          while Hide Empty mode was turned on no longer crashes.
  1308.  
  1309.   (IDE)  Code Editor: shift-click-and-drag to extend text selection now
  1310.          works better.
  1311.  
  1312.   (IDE)  Code Editor: shift-click-drag behavior refined further.
  1313.  
  1314.   (IDE)  Code Editor: Undo no longer causes bad indentation.
  1315.  
  1316.   (IDE)  Color Palette: reset when you create a new project.
  1317.  
  1318.   (IDE)  Constants: icon shown in browser now reflects the actual data
  1319.          type of the constant.
  1320.  
  1321.   (IDE)  Custom Classes: derived from serial controls, timer controls
  1322.          and possibly others will now not only contain the custom
  1323.          properties the user has added but also the other properties
  1324.          common to the serial or timer control.
  1325.  
  1326.   (IDE)  Custom Classes: Icon in the Window editor derived from parent
  1327.          class when subclassing instead of using the generic appearance.
  1328.  
  1329.   (IDE)  Debugger: ArrayViewer: Fixed a crash when ArrayViewer closes
  1330.          while still having the focus.
  1331.  
  1332.   (IDE)  Debugger: fixed crash which could occur when a debug session
  1333.          must be shut down due to a change in a source code line while
  1334.          running in the IDE.
  1335.  
  1336.   (IDE)  Debugger: Non-local arrays are now viewable while debugging
  1337.          (click view in their parent object viewer)
  1338.  
  1339.   (IDE)  Debugger: Singles are now displayed properly in the object
  1340.          viewer.
  1341.  
  1342.   (IDE)  Dialogs: fixed button captions in several dialogs where
  1343.          "Add..." had inadvertently been changed to "Create", and
  1344.          "Edit..." to "Modify".
  1345.  
  1346.   (IDE)  Edit Menu: last few menu items had incorrect balloon help; now
  1347.          fixed.
  1348.  
  1349.   (IDE)  Error handling: crash which occurred when a close event handler
  1350.          called MsgBox, while an application was being terminated due to
  1351.          an unhandled exception, now fixed.
  1352.  
  1353.   (IDE)  File dialogs: fixed bug which caused the dialog asking if you
  1354.          want to save the previously open project to appear twice when
  1355.          using the "Open" menu command.
  1356.  
  1357.   (IDE)  File Format: database project items no longer lose their
  1358.          settings when saved in the new file format.
  1359.  
  1360.   (IDE)  File Format: fixed a bug which caused the IDE to freeze when
  1361.          saving a string property larger than 32K.
  1362.  
  1363.   (IDE)  File Format: fixed a bug which caused the IDE to hang while
  1364.          reading a new (v3) format file containing a CFM plugin.
  1365.  
  1366.   (IDE)  File Reading: project files with a bogus default window
  1367.          (corrupted) are now handled more gracefully.
  1368.  
  1369.   (IDE)  File Reading: projects with corruption that was causing some
  1370.          modules or classes to be inaccessible can now be read because
  1371.          additional error checking allows REALbasic to recover projects.
  1372.  
  1373.   (IDE)  Help Key: no longer triggers a "command-1" shortcut in running
  1374.          applications.
  1375.  
  1376.   (IDE)  Input Manager support: fixed a bug which sometimes required you
  1377.          to press the Delete key twice to delete a control in the IDE
  1378.          while using the Input Manager (in Japanese, for example).
  1379.  
  1380.   (IDE)  Language Reference: button no longer toggles between "Go" and
  1381.          "Search" when the reference window is deactivated (i.e. in the
  1382.          background).
  1383.  
  1384.   (IDE)  List box: ColumnCount and ColumnWidth now immediately update
  1385.          the appearance  of the control in the window editor to reflect
  1386.          user settings of  in the properties window.
  1387.  
  1388.   (IDE)  List box: contents no longer appear bottom justified when the
  1389.          number of items was less than the total visible.
  1390.  
  1391.   (IDE)  List box: headers taken into account when calculating the
  1392.          vertical scrollbar
  1393.  
  1394.   (IDE)  List box: headings no longer show in the Window editor when
  1395.          hasHeading is set to false and the initial value is changed.
  1396.  
  1397.   (IDE)  List box: resizing a list box adjusts its scrollbars.
  1398.  
  1399.   (IDE)  Locked Project: overwriting a locked project file is no longer
  1400.          allowed.
  1401.  
  1402.   (IDE)  Memory leak: Edit fields no longer leak four menu items per
  1403.          run.
  1404.  
  1405.   (IDE)  Memory leak: Fixed two usually-minor memory leaks (one
  1406.          unhandled exception, one application object) while running
  1407.          applications repeatedly in the IDE.
  1408.  
  1409.   (IDE)  Memory leak: project item (such as a picture) memory is now
  1410.          released when it is deleted from the project, or when the
  1411.          project is closed.
  1412.  
  1413.   (IDE)  Memory usage: leaked objects (usually caused by circular
  1414.          references in user-written code) memory usage now cleaned up
  1415.          when the next run begins.
  1416.  
  1417.   (IDE)  Menu Item: Copy And Append's keyboard shortcut has been
  1418.          re-assigned to Shift-Cmd-C to avoid a conflicts with the "New
  1419.          Constant" which also used Option-Cmd-C."
  1420.  
  1421.   (IDE)  Menus: Fixed a problem where selecting a window in the window
  1422.          menu would activate a different window or do nothing at all.
  1423.  
  1424.   (IDE)  Menus: Relocating items when a project is loaded now enables
  1425.          the "Save" menu item.
  1426.  
  1427.   (IDE)  Menus: The stack menu no longer appears in the bottom of the
  1428.          window list during debugging You can still get to it through
  1429.          the window menu, just use Hide/Show Stack
  1430.  
  1431.   (IDE)  New File Format: now correctly stores a default window setting
  1432.          of <none>.
  1433.  
  1434.   (IDE)  New File Format: now correctly stores the interfaces of a
  1435.          class.
  1436.  
  1437.   (IDE)  Object viewer and Array Viewer: hyperlink "View" hotspots in
  1438.          Object viewers and Array viewers now shift appropriately when
  1439.          the window is resized. Previously one would have to click to
  1440.          the right of the word when the window was diminished from its
  1441.          original size.
  1442.  
  1443.   (IDE)  Online Reference: clicks in the scroll bar no longer "fall
  1444.          through" to a code box behind the scroll bar.
  1445.  
  1446.   (IDE)  Online Reference: fixed a problem which caused the reference to
  1447.          jump to the wrong topic,  showing instead the previous or next
  1448.          topic alphabetically.
  1449.  
  1450.   (IDE)  Online Reference: paging with the scroll bar now scrolls the
  1451.          content area by the right amount.
  1452.  
  1453.   (IDE)  Online Reference: Pressing the Go button after a search has
  1454.          failed will no longer display "search failed" in the left
  1455.          column but instead jump to the appropriate spot in the list of
  1456.          themes.
  1457.  
  1458.   (IDE)  Plugin API -- REALinRuntime: fixed a bug which caused this to
  1459.          sometimes incorrectly return true for a control in an IDE view
  1460.          editor window.
  1461.  
  1462.   (IDE)  Plug-in Support: changed management of the resource chain such
  1463.          that plugins are more likely to be able to access their
  1464.          resource fork without explicitly asking for it. Plugin
  1465.          developers should not rely on this, however; follow the new
  1466.          guidelines in the plug-ins SDK.
  1467.  
  1468.   (IDE)  Plug-ins: "Close" method of a Plug-in control is now called
  1469.          before the instance data is released, rather than after."
  1470.  
  1471.   (IDE)  Plug-ins: Floating-point properties of plug-in controls now
  1472.          display correctly in the Properties window.
  1473.  
  1474.   (IDE)  Project item import: imported classes and windows in v3 format
  1475.          no longer lose their references to other classes (for example,
  1476.          the Super of a control would be lost).
  1477.  
  1478.   (IDE)  Project Settings: changes to project settings now cause the
  1479.          Save command to be enabled.
  1480.  
  1481.   (IDE)  Project window -- Locating Items when re-locating an external
  1482.          item in the project, the dialog now uses Navigation Services
  1483.          (when available).
  1484.  
  1485.   (IDE)  Project Window: importing a window or class no longer causes
  1486.          the project's default window to change to "none".
  1487.  
  1488.   (IDE)  Project Window: Moving items from one folder to another in the
  1489.          project window can now be undone (Cmd-Z) and redone.
  1490.  
  1491.   (IDE)  Project window: Pictures -- when re-locating a picture file in
  1492.          the project, the dialog now allows selection of any file type
  1493.          (since it may be anything supported by QuickTime).
  1494.  
  1495.   (IDE)  Project Window: Relocating a project item now marks the project
  1496.          as needing to be saved. The "Save" menu-item will be enabled in
  1497.          this case and REALbasic will prompt you to save the project
  1498.          before quitting.
  1499.  
  1500.   (IDE)  PropertiesWindow: Property Panes can no longer be shorter than
  1501.          the space they need.  e.g. if  you take a editfield and type in
  1502.          some text, and then change the textSize Property to a value of
  1503.          4 the Property Pane won't shrink to that size since its caption
  1504.          and the widget at the end won't fit.
  1505.  
  1506.   (IDE)  PropertiesWindow: The "Edit" button has been made slightly
  1507.          smaller so that it doesn't butt up  against the edge of the
  1508.          scrollbar.
  1509.  
  1510.   (IDE)  Registration Reminder:  "Quit" button now uses the same string
  1511.          as the IDE's Quit Menu item to allow for easier Localization.
  1512.  
  1513.   (IDE)  Registration: A more helpful message is displayed in the
  1514.          Previous Serial Number field if an old copy is already
  1515.          installed.
  1516.  
  1517.   (IDE)  Registration: fixed a problem which caused some REALbasic 2
  1518.          serial numbers to be considered invalid as a base for upgrading
  1519.          to REALbasic 3.
  1520.  
  1521.   (IDE)  Save Changes Dialog: Made Save changes dialog a moveable modal,
  1522.          so users can't display the dialog multiple times.
  1523.  
  1524.   (IDE)  Save/Create File dialogs now have more accurate & informative
  1525.          prompts.
  1526.  
  1527.   (IDE)  SaveAs dialog: re-adjusted the non-NavServices Save As dialog
  1528.          for international users.
  1529.  
  1530.   (IDE)  Saving: errors when saving now present an error message rather
  1531.          than failing silently.
  1532.  
  1533.   (IDE)  Scriptable IDE: build event now waits for the build to complete
  1534.          before returning without causing REALbasic to quit before the
  1535.          build is finished.
  1536.  
  1537.   (IDE)  Scrollbars/Sliders: Now display properly when loaded from a
  1538.          file, and after the Max is resized to fit a value.
  1539.  
  1540.   (IDE)  Show Hidden Methods button: no longer crashes when used in a
  1541.          class with no controls.
  1542.  
  1543.   (IDE)  Stationery: opening a stationery pad, the IDE now properly
  1544.          calls the project "Untitled" and considers it unsaved, just as
  1545.          creating a fresh project with the New command does.
  1546.  
  1547.   (IDE)  Stationery: REALbasic is now stationery-aware, so when you
  1548.          double-click a stationery pad in the Finder, the Finder no
  1549.          longer makes a document copy of it before opening it in
  1550.          REALbasic.
  1551.  
  1552.   (IDE)  Tab panel: compiling no longer causes invalid, unusable Tab
  1553.          panels in the IDE after a build.
  1554.  
  1555.   (IDE)  Tool bar: plugins which register multiple controls now get the
  1556.          correct icons in the toolbar.
  1557.  
  1558.   (IDE)  Tool bar: stray highlighting caused by moving and clicking very
  1559.          quickly is now fixed.
  1560.  
  1561.   (IDE)  Toolbar: fixed a bug which could cause occasional crashes on
  1562.          some systems.
  1563.  
  1564.   (IDE)  Viewers: "string View" in the Object viewer and ArrayViewer now
  1565.          comes from a resource and so is international savvy.
  1566.  
  1567.   (IDE)  Viewers: Array viewers can now view arrays of objects.
  1568.  
  1569.   (IDE)  Viewers: Array viewers no longer crash when attempting to show
  1570.          2D and higher dimensional arrays.
  1571.  
  1572.   (IDE)  Viewers: Object viewers and Array viewers now respond to the
  1573.          appropriate menu item or their keyboard equivalents for Close
  1574.          and Zoom.
  1575.  
  1576.   (IDE)  Window editor: Alignment lines flicker less on slower machines.
  1577.  
  1578.   (IDE)  Window editor: Alignment lines no longer occasionally leave
  1579.          stray pixels behind.
  1580.  
  1581.   (IDE)  Window editor: custom classes in a window can now be duplicated
  1582.          (or copied and pasted)  without crashing.
  1583.  
  1584.   (IDE)  Window Editor: While typing in the caption or text property of
  1585.          a control and then changing another property the text of the
  1586.          control will no longer revert to its old state in the window
  1587.          editor. This change applies to Pushbuttons, Editfields,
  1588.          GroupBoxes, CheckBoxes, RadioButtons, and StaticTexts.
  1589.  
  1590.   (IDE)  XML Export: "<RBVersion>" tag has been replaced with an
  1591.          "<RBProject>" top-level tag that encloses the rest of the file,
  1592.          per the XML specification.
  1593.  
  1594.   (Mac)  Built Applications: applications using plug-ins which use
  1595.          sockets are now built correctly. Previously, the built
  1596.          application would not have the Open Transport code it needed
  1597.          unless the project also made use of the Socket class. This
  1598.          fixes, for example, using postgreSQL in stand-alone Mac
  1599.          applications.
  1600.  
  1601.   (Mac)  Command-Period: both the command-period sequence (to trigger
  1602.          UserCancelled in your REALbasic code) and Command-shift-period
  1603.          (to switch to the REALbasic debugger) now work on non-QWERTY
  1604.          keyboard layouts.
  1605.  
  1606.   (Mac)  Control activation: controls are now deactivated when the
  1607.          window is deactivated.  For most controls, this means they are
  1608.          drawn as if disabled.  Static texts are drawn in a color close
  1609.          to gray but retaining some of their original color.
  1610.  
  1611.   (Mac)  Control Activation: cosmetic errors occurring when the
  1612.          activation state of a control was changed, while it was
  1613.          deactivated, have now been fixed.
  1614.  
  1615.   (Mac)  Control enabling: controls which previously did not change
  1616.          their appearance to reflect the state of their "enabled"
  1617.          property, now do so. These include the progress bar, disclosure
  1618.          triangle, chasing arrows, separator, and image well.
  1619.  
  1620.   (Mac)  CPU Usage: in order to reduce sluggishness in places such as
  1621.          EditFields, we've reduced the maximum sleep time from 20 ticks
  1622.          to 5 ticks. This increases the CPU usage of your programs only
  1623.          slightly, but produces a much more responsive feel when typing.
  1624.  
  1625.   (Mac)  Date class: a work around for a MacOS system bug involving date
  1626.          records with day=0 has been added.  Operations such as "d.day =
  1627.          d.day-1" are now safe.
  1628.  
  1629.   (Mac)  Edit Field: single-line Edit Fields now use a line height
  1630.          consistent with that provided by system defaults, even after
  1631.          assigning new text or resetting the font. One benefit is that
  1632.          text in the Properties window no longer jumps up a pixel when
  1633.          you enter the field, as happened in recent alphas.
  1634.  
  1635.   (Mac)  EditField.ScrollPosition: assigning ScrollPosition of a
  1636.          multi-line Edit field without a scroll bar no longer crashes.
  1637.  
  1638.   (Mac)  EditField.TextFont and related properties: previously, the
  1639.          exact behavior of assignment to TextFont, SelTextFont,
  1640.          TextColor, SelTextColor, TextSize, and SelTextSize was
  1641.          undefined, and varied quite a bit between single-line and
  1642.          multi-line edit fields. The behavior has now been unified as
  1643.          much as possible, and is defined as follows (where "e" is an
  1644.          EditField): "e.text = X" replaces the entire contents of the
  1645.          field with X. The  font, size, and color are uniform and match
  1646.          the values last set with  e.textFont, e.textSize, and
  1647.          e.textColor, or if these haven't been  used, the settings in
  1648.          the IDE. (Note that using e.selTextFont etc. may  change the
  1649.          entire appearance of the text -- always true if the field  is
  1650.          not styled -- but does NOT change the "default" settings used
  1651.          when  the whole text is replaced with "e.text = X".);
  1652.          "e.textFont = X" in a styled or plain field changes the font of
  1653.          the  entire field to the given value. It also resets the
  1654.          "default" font,  size, and style which will be used if the
  1655.          whole text is  replaced.; "e.selTextFont = X" in an plain field
  1656.          changes the font of the entire  field to the given value.;
  1657.          "e.selTextFont = X" in a styled field changes the font of the
  1658.          selected  text to the given value.; Text size and color work
  1659.          just like the font. CAVEAT: font, size, and style are stored in
  1660.          a single structure internally, so changing any of them by
  1661.          assigning to either TextFont or TextSize will cause the current
  1662.          settings for font, size, and style to ALL be stored as the
  1663.          default. Text color is stored separately. But do not rely on
  1664.          this behavior; it's best to set the font, size, and color
  1665.          explicitly when you want to change them for the whole field.
  1666.  
  1667.   (Mac)  EditField: multi-line EditFields without scrollbars no longer
  1668.          scroll the text to the bottom of the visible field when you
  1669.          start typing.
  1670.  
  1671.   (Mac)  EditFields: fixed a bug introduced in 3.0b2 which caused the
  1672.          Home, End, Page Up, and Page Down keys to malfunction in
  1673.          multi-line EditFields.
  1674.  
  1675.   (Mac)  Fixed a memory leak which showed up, for example, in Picture
  1676.          masks.
  1677.  
  1678.   (Mac)  Global floating windows: color depths no longer really low.
  1679.  
  1680.   (Mac)  Global floating windows: once again work with MacOS versions
  1681.          older than 8.5, fixing a bug introduced in 3.0a5. NOTE: Global
  1682.          floating windows have under these older versions of MacOS have
  1683.          a very low color depth, due to the Mac OS itself.
  1684.  
  1685.   (Mac)  Graphics.StringWidth: now works correctly for strings longer
  1686.          than 255 characters.
  1687.  
  1688.   (Mac)  IDE: Online Reference now scrolls to the bottom.
  1689.  
  1690.   (Mac)  Listbox.ScrollPosition: assignment of scrollPosition when new
  1691.          value was beyond the number of rows at the last refresh no
  1692.          longer fails.
  1693.  
  1694.   (Mac)  MacOS 8.0/8.1: both built applications and the IDE run again on
  1695.          these versions of MacOS, thanks to the demise of a bug
  1696.          introduced in 3.0a04.
  1697.  
  1698.   (Mac)  Menu Command Keys: fixed problem with commands keys not
  1699.          interpreting constants in the IDE.
  1700.  
  1701.   (Mac)  OpenPrinter: Bug (introduced in 3.0a09) which caused this
  1702.          function to crash or produce immortal print progress dialogs
  1703.          has now been fixed.
  1704.  
  1705.   (Mac)  ParseDate method: d.totalseconds = d.totalseconds no longer
  1706.          required to force the parsed date to update its properties.
  1707.  
  1708.   (Mac)  Pop-up menu: memory leak fixed.
  1709.  
  1710.   (Mac)  SelectFolder: Navigation Services dialog is now movable modal,
  1711.          and allows background windows to refresh.
  1712.  
  1713.   (Mac)  Sliders and Scroll bars: Setting the PageStep property of for a
  1714.          scroll bar in code will now re-adjust the proportional scroll
  1715.          bar accordingly.
  1716.  
  1717.   (Mac)  Sliders: Vertically Oriented Sliders now behave correctly when
  1718.          the user clicks in the track above and below the slider.
  1719.  
  1720.   (Mac)  Socket.Lookahead: now works without crashing in built
  1721.          applications (as well as in the IDE).
  1722.  
  1723.   (Mac)  Sound class: looping sounds memory leak fixed.
  1724.  
  1725.   (Mac)  Sounds: fixed a bug which caused sounds to sometimes play
  1726.          incorrectly (play the wrong sound, or a horrible screeching
  1727.          noise).
  1728.  
  1729.   (Mac)  Sprite surface: collision detection on the pixel level now
  1730.          works on Mac OS.
  1731.  
  1732.   (Mac)  Sprite surface: sprites created from cicn resources no longer
  1733.          cause crash.
  1734.  
  1735.   (Mac)  Timers: fixed a bug which caused timers with a period in the
  1736.          17-50 ms range to fire too slowly on certain systems. (That bug
  1737.          was introduced in 3.0b2.)
  1738.  
  1739.   (OSX)  Built applications: now correctly detect when they are running
  1740.          under Aqua, and adjust their appearance accordingly.
  1741.  
  1742.   (OSX)  Date objects are now initialized to current date under OS X.
  1743.  
  1744.   (OSX)  Dates: TotalSeconds property now can now be set under Carbon.
  1745.  
  1746.   (OSX)  Focus rings now erase properly when a control loses the focus.
  1747.  
  1748.   (OSX)  Global floating windows: now work properly under Carbon/OS X.
  1749.  
  1750.   (OSX)  IDE: fixed bug which caused last two commands in the Edit menu
  1751.          to invoke the wrong dialogs.
  1752.  
  1753.   (OSX)  List Box: header has proper Aqua appearance.
  1754.  
  1755.   (OSX)  Menu item: "Hide" is now named "Hide REALbasic" per OS X
  1756.          standards.
  1757.  
  1758.   (OSX)  Menu item: Quit command (in IDE) now appears in Application
  1759.          menu per OS X standards.
  1760.  
  1761.   (OSX)  Plug-in Compiling: building applications that call plug-in
  1762.          functions (such as Shell.Execute) under Mac OS X no longer
  1763.          suddenly quit.
  1764.  
  1765.   (OSX)  Plug-ins: External plug-ins are now found in the "plug-ins"
  1766.          folder next to the REALbasic application.
  1767.  
  1768.   (OSX)  Plug-ins: we've added a work-around for a bug in MacOS X
  1769.          (Public Beta) which was causing intermittent crashes while
  1770.          loading plug-ins. Affects both the IDE and built applications.
  1771.  
  1772.   (OSX)  Progress bars: animate even when timers or threads are active.
  1773.  
  1774.   (OSX)  Progress bars: Deleting progress bars in OS X Window editor now
  1775.          actually deletes them, instead of leaving "Zombie" progress
  1776.          bars.
  1777.  
  1778.   (OSX)  PropertiesWindow: Now looks much better under Aqua.  Property
  1779.          Panes don't overlap each other and don't overlap the scrollbar.
  1780.  
  1781.   (OSX)  Stability: fixed bug which caused the IDE's or built
  1782.          application's resource fork to be inaccessible on some versions
  1783.          of OS X. (Actually more of a work around for an Apple bug, but
  1784.          still...)
  1785.  
  1786.   (OSX)  Window BackgroundColor: now implemented for Carbon.  (Does not
  1787.          yet work properly under OS X).
  1788.  
  1789.   (OSX)  Window.BackgroundColor: now appears correctly under OS X.
  1790.  
  1791.   (Win)  Application icon: now appears in the title bar, instead of the
  1792.          default Windows one.
  1793.  
  1794.   (Win)  Application.OpenDocument Event: Windows applications can now
  1795.          receive OpenDocument events.
  1796.  
  1797.   (Win)  Arrays: arrays are no longer dynamically allocated when needed.
  1798.          If you want to allocate a 10000 item integer array, the whole
  1799.          array will be allocated instead of on an "as needed" basis.
  1800.          This should fix the slow array problem when first accessing the
  1801.          array.
  1802.  
  1803.   (Win)  Arrays: removed changes from b2 that allocated the entire
  1804.          array. To achieve the same effect, just set the last element of
  1805.          the array, so that the whole array is allocated.
  1806.  
  1807.   (Win)  Arrays: were not being freed when out of scope, this is now
  1808.          fixed.
  1809.  
  1810.   (Win)  BevelButton: assigning a System font name should now map to
  1811.          Window's MS Sans Serif font.
  1812.  
  1813.   (Win)  BevelButton: no longer leak Win32 System Resources, and GDI
  1814.          Resources when refreshing themselves.
  1815.  
  1816.   (Win)  BevelButtons: Bevel and ButtonType properties can now be set
  1817.          via code.
  1818.  
  1819.   (Win)  Canvas: Canvases now draw in their correct location.
  1820.  
  1821.   (Win)  CheckBox, RadioButton, and ChasingArrow: will now inherit the
  1822.          background color of the parent Window.
  1823.  
  1824.   (Win)  Clipboard.Picture: You can now set picture data to the
  1825.          clipboard.
  1826.  
  1827.   (Win)  Control Cloning: cloned controls are now visible. Previously
  1828.          they were created, but didn't appear unless they were cloned on
  1829.          a canvas.
  1830.  
  1831.   (Win)  Controls: Disclosure Triangles and Pop-up Arrows now refresh
  1832.          correctly and have transparent backgrounds on Win32.
  1833.  
  1834.   (Win)  Controls: Refreshing controls now behaves as expected (e.g.,
  1835.          Canvas1.refresh).
  1836.  
  1837.   (Win)  Controls: Various controls including, but not limited to push
  1838.          buttons, checkboxes and radio buttons now no longer receive
  1839.          clicks when disabled.
  1840.  
  1841.   (Win)  data types: single to integer conversion problem fixed.
  1842.  
  1843.   (Win)  DataBase.dateColumn: now implemented.
  1844.  
  1845.   (Win)  Database: REAL DB Double Fields: are now converted properly to
  1846.          little endian.
  1847.  
  1848.   (Win)  Date.AbbreviatedDate: now returns with the correct abbreviated
  1849.          date format string.
  1850.  
  1851.   (Win)  Date.Day: when the day that the user is setting is beyond the
  1852.          end of the month, the day will now return the day of the next
  1853.          month that it falls under. Similarly, if the day that the user
  1854.          is setting is before the beginning of the month, the day will
  1855.          return the last day of the previous month.
  1856.  
  1857.   (Win)  Date.Month: when the month that the user is setting is beyond
  1858.          the end of the year or before the beginning of the year, the
  1859.          year will be incremented or decremented accordingly, just like
  1860.          the Mac.
  1861.  
  1862.   (Win)  Date: negative months should now behave the same on Windows as
  1863.          they do on the Mac. Also, setting the year will now work even
  1864.          if you're on a leap day.
  1865.  
  1866.   (Win)  Declares: fixed problem with using MemoryBlocks in declares.
  1867.  
  1868.   (Win)  Declares: fixed weird behavioral problems when calling declared
  1869.          methods. Previous workarounds such as having a useless line
  1870.          calling str() are no longer necessary.
  1871.  
  1872.   (Win)  Disclosure Triangle: No longer crashes when clicked. Crashes
  1873.          used to occur only on systems with QuickTime installed. This
  1874.          bug was introduced Aug 15 2000.
  1875.  
  1876.   (Win)  Drag and Drop: Dragging from a multi-line edit field no longer
  1877.          causes crash.
  1878.  
  1879.   (Win)  Drag and Drop: dragging multiple items is now possible.
  1880.  
  1881.   (Win)  Drag and Drop: folderitems -- controls now accept folder items.
  1882.  
  1883.   (Win)  Drag and Drop: MacData -- controls now accept MacData.
  1884.  
  1885.   (Win)  Drag and Drop: now shows a boxed outline to indicate the
  1886.          dimensions of your drag object.
  1887.  
  1888.   (Win)  Drag and Drop: pictures -- controls now accept picture drops.
  1889.  
  1890.   (Win)  Drag and Drop: removed a debug output string from compiled
  1891.          apps.
  1892.  
  1893.   (Win)  Drag and Drop: text -- controls now accept text drops
  1894.  
  1895.   (Win)  Edit Field: acceptTabs property now works for multiline and
  1896.          single line editfields. If acceptTabs is false, it behaves as
  1897.          previously, i.e. tabs to the next control.
  1898.  
  1899.   (Win)  Edit Field: invisible EditFields no longer fire LostFocus and
  1900.          GotFocus events.
  1901.  
  1902.   (Win)  Edit field: Now behave correctly in their scroll bar and border
  1903.          region when overlapped with a canvas control.
  1904.  
  1905.   (Win)  Edit field: SelStart assignment bug fixed; it now works
  1906.          correctly and just like the Mac version.  Caveat: under Win32,
  1907.          a text selection is visible only in the Edit field which has
  1908.          the focus.  (This is a Win32 system difference, not related to
  1909.          REALbasic.)
  1910.  
  1911.   (Win)  Edit Field: SelTextColor property now returns color correctly.
  1912.  
  1913.   (Win)  Edit Field: should now all receive changed (text/selection)
  1914.          events.
  1915.  
  1916.   (Win)  Edit Field: TextFont property Edit Field updates correctly at
  1917.          start up to handle symbol encoded fonts.
  1918.  
  1919.   (Win)  Edit Field: TextStyleData property now implemented, but is not
  1920.          binary equivalent to the Mac TextStyleData. This means that you
  1921.          should not create your own style data from a string and pass it
  1922.          to SetTextAndStyle, since they are not equivalent on both
  1923.          platforms. Also implemented SetTextAndStyle, which previously
  1924.          did nothing.
  1925.  
  1926.   (Win)  EditField.KeyDown: getting the ASC of the Key parameter now
  1927.          works.
  1928.  
  1929.   (Win)  EditField.KeyDown: now passes arrow keys, insert, delete, home,
  1930.          end, page up, and page down keys to the KeyDown event. These
  1931.          are coded the same as the Mac key codes.
  1932.  
  1933.   (Win)  EditField.TextFont and related properties: behavior now matches
  1934.          that of Mac OS; This also fixes the EditField Appearance
  1935.          background colors. EditField.TextFont and related properties:
  1936.          previously, the exact behavior of assignment to TextFont,
  1937.          SelTextFont, TextColor, SelTextColor, TextSize, and SelTextSize
  1938.          was undefined, and varied quite a bit between single-line and
  1939.          multi-line edit fields. The behavior has now been unified as
  1940.          much as possible, and is defined as follows (where "e" is an
  1941.          EditField): "e.text = X" replaces the entire contents of the
  1942.          field with X. The font, size, and color are uniform and match
  1943.          the values last set with e.textFont, e.textSize, and
  1944.          e.textColor, or if these haven't been used, the settings in the
  1945.          IDE. (Note that using e.selTextFont etc. may change the entire
  1946.          appearance of the text -- always true if the field is not
  1947.          styled -- but does NOT change the "default" settings used when
  1948.          the whole text is replaced with "e.text = X".); "e.textFont =
  1949.          X" in a styled or plain field changes the font of the entire
  1950.          field to the given value. It also resets the "default" font,
  1951.          size, and style which will be used if the whole text is
  1952.          replaced.; "e.selTextFont = X" in an plain field changes the
  1953.          font of the entire field to the given value.; "e.selTextFont =
  1954.          X" in a styled field changes the font of the selected text to
  1955.          the given value. Text size and color work the same as the font
  1956.          does.
  1957.  
  1958.   (Win)  EditField: fixed problem with disabled EditFields not updating
  1959.          the text color when enabled.
  1960.  
  1961.   (Win)  EditField: will now accept double clicks and highlights the
  1962.          word.
  1963.  
  1964.   (Win)  EditFields: fixed problem with clicking on the first 4 or 5
  1965.          pixels of an EditField.
  1966.  
  1967.   (Win)  Events: Mouse Down and Action Events now occur in the proper
  1968.          order when controls are overlapped, and pass through or don't
  1969.          pass through depending on user code, or defaults.
  1970.          Ramifications: You can build your own overlapping custom canvas
  1971.          controls on Windows; You can put a canvas on top of a list box
  1972.          or edit field to catch events
  1973.  
  1974.   (Win)  Exceptions are now handled properly on Windows.  Exception
  1975.          handlers get called.; Exceptions are passed up the calling
  1976.          chain.; Win32 stack size is 896k, using more now causes a stack
  1977.          overflow exception.
  1978.  
  1979.   (Win)  Exceptions: fixed problem with exceptions not getting caught
  1980.          (especially in Open events).
  1981.  
  1982.   (Win)  Exceptions: fixed the last remaining exceptions case. This
  1983.          example should now work.
  1984.  
  1985.   (Win)  Failed Assertions: These no longer fail silently under Windows.
  1986.          Please report any you find in the usual manner.
  1987.  
  1988.   (Win)  Floating Windows: appear as a topmost Window, i.e. always on
  1989.          top of any other regular Window.
  1990.  
  1991.   (Win)  Folder Item: memory leak fixed where instances of an object
  1992.          were not being freed when out of scope.
  1993.  
  1994.   (Win)  Folder Item: OpenStyledEditField and SaveStyledEditField
  1995.          methods now properly save/load styled text.
  1996.  
  1997.   (Win)  FolderItem.Count: fixed problem with counting the number of
  1998.          files in your root volumes.
  1999.  
  2000.   (Win)  FolderItem.Delete: Empty folders can now be deleted under
  2001.          Windows.
  2002.  
  2003.   (Win)  FolderItem.Item: Cache now updates to reflect files being moved
  2004.          in/out of a folder.
  2005.  
  2006.   (Win)  FolderItem.Item: fixed problem with two trailing backslashes
  2007.          appearing in pathname.
  2008.  
  2009.   (Win)  FolderItem.Item: the items in a folder are not cached as
  2010.          frequently as before, so accessing the items in a folder should
  2011.          be quicker.
  2012.  
  2013.   (Win)  FolderItem.Name: introduced in the last alpha, which duplicated
  2014.          the filename string so that the filename was repeated twice
  2015.          i.e., renaming a folder "NewFileName" gave it
  2016.          "NewFileNameNewFileName" instead.
  2017.  
  2018.   (Win)  FolderItem.OpenAsSound: Is now implemented under Windows and
  2019.          uses .wav files.
  2020.  
  2021.   (Win)  FolderItem.Parent: Parent path should return all valid
  2022.          directories instead of empty strings at times.
  2023.  
  2024.   (Win)  FolderItem: Fixed problem with appending .jpg to files when
  2025.          saving as JPEG when the extension ".jpe" is already present.
  2026.  
  2027.   (Win)  FullScreen: works for SDI and MDI applications, and now hides
  2028.          the border so it's less visible on multiple display monitors.
  2029.  
  2030.   (Win)  GetFolderItem: Was not returning nil for invalid folders whose
  2031.          parent path is invalid. Now fixed.
  2032.  
  2033.   (Win)  GetSaveFolderItem: Default filename is now displayed in the
  2034.          save dialog box.
  2035.  
  2036.   (Win)  Graphics.DrawPicture: memory leak fixed.
  2037.  
  2038.   (Win)  Graphics.FillOval: should now resemble an oval/circle, instead
  2039.          of a pear-like shape.
  2040.  
  2041.   (Win)  Graphics: DrawCautionIcon, DrawStopIcon, and DrawNoteIcon
  2042.          methods now implemented.
  2043.  
  2044.   (Win)  Graphics: DrawLine method -- fixed the "rough lines" problem
  2045.          introduced in 3.0a11, where lines originating from the same x,y
  2046.          coordinates would show up 1 pixel off.
  2047.  
  2048.   (Win)  Graphics: DrawString method -- new line characters handled
  2049.          correctly.
  2050.  
  2051.   (Win)  Group Box: EditFields, PopupMenus, and Sliders now receive
  2052.          events when inside group boxes.
  2053.  
  2054.   (Win)  Invisible Controls: Fixed the problem (introduced in 3.0a08)
  2055.          where invisible controls could get mouse clicks.
  2056.  
  2057.   (Win)  KeyBoard class: now returns key modifiers. Supported properties
  2058.          include, AsyncControlKey, AsyncOptionKey, AsyncShiftKey,
  2059.          AsyncCommandKey, CommandKey, ControlKey, OptionKey, and
  2060.          ShiftKey.
  2061.  
  2062.   (Win)  KeyDown event: controls now receive CR keys (i.e. the Enter
  2063.          key).
  2064.  
  2065.   (Win)  Line Control and Graphics.DrawLine: missing pixels bug fixed.
  2066.  
  2067.   (Win)  List box: drag and drop -- fixed refresh issue when dropping an
  2068.          item on to a listbox.
  2069.  
  2070.   (Win)  List box: editable cells now display their text while being
  2071.          edited.
  2072.  
  2073.   (Win)  List box: EnableDrag property now works as intended, i.e. you
  2074.          can drag an item from the listbox to any other control.
  2075.  
  2076.   (Win)  List box: endcaps now visible.
  2077.  
  2078.   (Win)  List box: events -- fixed problem with change and double click
  2079.          events when the EnableDrag property is checked.
  2080.  
  2081.   (Win)  List Box: failed assertion error if clicking on the listbox
  2082.          whose EnableDrag property is true fixed.
  2083.  
  2084.   (Win)  List box: Fixed a refresh problem which prevented drawing on
  2085.          top of a list box.
  2086.  
  2087.   (Win)  List box: fixed refresh problem that grayed out the listbox.
  2088.  
  2089.   (Win)  List box: Headers now receive clicks again.
  2090.  
  2091.   (Win)  List box: Hierarchical list boxes now highlight properly,
  2092.          regardless of rows alignment setting.
  2093.  
  2094.   (Win)  List box: Hierarchical list boxes update correctly when
  2095.          expanding
  2096.  
  2097.   (Win)  List box: refresh problem that prevented the listbox from
  2098.          updating when setting the CellCheck property in code fixed.
  2099.          Fixed other listbox refresh problems in the process.
  2100.  
  2101.   (Win)  List box: removed focus ring when editing a cell.
  2102.  
  2103.   (Win)  Listbox & EditFields: fixed a bizarre problem with editfields
  2104.          losing focus and win32 applications crashing. This happened
  2105.          with an editable listbox, but only occured in special cases.
  2106.  
  2107.   (Win)  Little Arrows: No longer crashes when clicked. Crashes used to
  2108.          occur only on systems with QuickTime installed. This bug was
  2109.          introduced Aug 15 2000.
  2110.  
  2111.   (Win)  MDI: Events -- Mouse events (MouseEnter, MouseMove, MouseExit)
  2112.          now work correctly for all controls and windows in Win32
  2113.          applications using MDI.
  2114.  
  2115.   (Win)  MenuBarVisible: now works under Windows.
  2116.  
  2117.   (Win)  Min/Max sizing: now handles all cases. I.e., different border
  2118.          styles, and border widths.
  2119.  
  2120.   (Win)  Modal dialogs: more than one can exist at once, even when
  2121.          hidden. This was also the cause of file dialogs failing to
  2122.          appear.
  2123.  
  2124.   (Win)  MouseCursor: fixed problem with assigning a mouse cursor, it
  2125.          should now update immediately instead of waiting for the next
  2126.          Windows message to update.
  2127.  
  2128.   (Win)  MouseCursor: setting custom mouse cursors now work more
  2129.          consistently instead of partially working for some controls,
  2130.          especially EditFields. Also, setting mouse cursors in a
  2131.          control's Open event now works.
  2132.  
  2133.   (Win)  Multiple Monitors: Events -- Mouse events now work correctly in
  2134.          negative monitor space when using multiple monitors under Win98
  2135.          and Win2000.
  2136.  
  2137.   (Win)  OpenPrinter: Now prints the same size as using
  2138.          OpenPrinterDialog.
  2139.  
  2140.   (Win)  Parent.Child: The parent and child path problems have been
  2141.          fixed.
  2142.  
  2143.   (Win)  ParseDate: implemented.
  2144.  
  2145.   (Win)  ParseDate: now properly parses 1 or 2 digit years.
  2146.  
  2147.   (Win)  Picture: 1-bit transparency fixed, 4-bit and 24-bit
  2148.          transparency added. 2-bit and 32-bit pictures continue to map
  2149.          to 4bit and 24-bit pictures respectively.
  2150.  
  2151.   (Win)  Picture: Odd width pictures: odd width pictures imported to
  2152.          your project are now stored properly, so the missing pixels at
  2153.          the bottom of your image are corrected.
  2154.  
  2155.   (Win)  Pop-up menu: fixed a problem with moving a Pop-up menu at
  2156.          runtime when the Pop-up menu's parent was something other than
  2157.          the application window. i.e. if the Pop-up menu was on top of a
  2158.          canvas.
  2159.  
  2160.   (Win)  Pop-up Menu: now receives focus when tabbed in to.
  2161.  
  2162.   (Win)  PopupMenu.InsertRow: now inserts at the correct position within
  2163.          the popupmenu.
  2164.  
  2165.   (Win)  PrinterSetup.PageSetupDialog: PageSetup dialog displayed, and
  2166.          not an Open Printer dialog.
  2167.  
  2168.   (Win)  ProgressBars: Indeterminant progressbars can now be hidden.
  2169.  
  2170.   (Win)  QuickTime movie: now displays in its correct position on the
  2171.          window.
  2172.  
  2173.   (Win)  QuickTime movie: now refreshes properly when the window is
  2174.          moved.
  2175.  
  2176.   (Win)  Rectangle Control: Missing border pixels on upper-right corner
  2177.          is now fixed.
  2178.  
  2179.   (Win)  RGBSurface: 24-bit RGB surfaces now work on Win32 (and Mac),
  2180.          32-bit RGBSurfaces are mapped to 24-bit surfaces on windows.
  2181.  
  2182.   (Win)  Screen.Depth: Screen(i).Depth now returns the correct value on
  2183.          your Win32 primary screen.
  2184.  
  2185.   (Win)  Screen: for multiple display monitors should now update
  2186.          properly for MDI applications.
  2187.  
  2188.   (Win)  ScrollBar: should now fire events when inside a groupbox.
  2189.  
  2190.   (Win)  SelectColor: now works for Win32.
  2191.  
  2192.   (Win)  Self.SetFocus: focus correctly set to the parent window (clears
  2193.          focus from other controls).
  2194.  
  2195.   (Win)  Serial.DataAvailable: this event should fire more consistently.
  2196.  
  2197.   (Win)  Sliders and Scroll bars: PageStep and LineStep can now be set
  2198.          from code for sliders and scroll bars.
  2199.  
  2200.   (Win)  Socket.DataAvailable: this event should fire more consistently,
  2201.          instead of being skipped sometimes.
  2202.  
  2203.   (Win)  Socket.LocalAddress: fixed problem where it would return the
  2204.          wrong IP address.
  2205.  
  2206.   (Win)  Socket.LocalAddress: returns a valid local IP address, whether
  2207.          you're connected or not.
  2208.  
  2209.   (Win)  Socket.Poll: works, even when called in a tight loop. (For
  2210.          plugin authors, this fix applies to REALSocketPoll as well.)
  2211.  
  2212.   (Win)  Socket.PPPStatus: returns useful information: *  0 - No PPP * 
  2213.          1 - Connection idle *  4 - Connecting *  5 - Connected.
  2214.  
  2215.   (Win)  Socket: fixed some problems with the Poll method and error
  2216.          events not firing consistently.
  2217.  
  2218.   (Win)  Socket: listen or connect memory leak fixed.
  2219.  
  2220.   (Win)  Sound.PlayLooping: sound can now be looped.
  2221.  
  2222.   (Win)  Sound.Stop: stops the sound if any are currently playing.
  2223.  
  2224.   (Win)  Sound: fixed problem when a Sound object is created as a
  2225.          property and using OpenAsSound in one method, while playing it
  2226.          in another method.
  2227.  
  2228.   (Win)  Sound: playing sound from a resource no longer crashes if no
  2229.          sound card is present.
  2230.  
  2231.   (Win)  Sprite surface: collisions are now detected (at the pixel
  2232.          level) under Win32.
  2233.  
  2234.   (Win)  Sprite surface: runs on Win32 (there are Known Issues in
  2235.          3.0a05).
  2236.  
  2237.   (Win)  Sprite surface: scrolling now implemented for Win32.
  2238.  
  2239.   (Win)  Stability: fixed problem introduced in 3.0b3 that resulted in
  2240.          general instability.
  2241.  
  2242.   (Win)  Static Text: now have transparent backgrounds on Win32.
  2243.  
  2244.   (Win)  String functions UpperCase and LowerCase: passing an empty
  2245.          string no longer crashes on Win32.
  2246.  
  2247.   (Win)  String/Object parameters: using string or object parameters is
  2248.          more stable. Previously, they may have been freeing memory that
  2249.          shouldn't have been freed.
  2250.  
  2251.   (Win)  System colors: should now return the correct REALbasic RGB
  2252.          color, instead of the BGR color.
  2253.  
  2254.   (Win)  System.SerialPortCount: now reports the accurate number of
  2255.          usable serial ports (but does not go beyond 9).
  2256.  
  2257.   (Win)  Text Controls: fixed a memory leak for controls that retrieve
  2258.          text, such as EditField.Text.
  2259.  
  2260.   (Win)  The following items now work properly and no longer corrupt
  2261.          memory. This memory corruption was causing unexplained crashes.
  2262.          Windows applications that use these controls will now be much
  2263.          more stable than previously. This fixed 32 known bugs, of which
  2264.          15 caused crashes. Rectangle: Fixed setting/getting FillColor.;
  2265.          Rectangle: Fixed setting/getting BorderWidth.; Rectangle: Fixed
  2266.          setting/getting TopLeftColor.; Rectangle: Fixed setting/getting
  2267.          BottomRightColor.; Line: Fixed setting/getting BorderWidth.;
  2268.          Line: Fixed setting/getting LineColor.; Oval: Fixed
  2269.          setting/getting FillColor.; Oval: Fixed setting/getting
  2270.          BorderWidth.; Oval: Fixed setting/getting BorderColor.;
  2271.          RoundRect: Fixed setting/getting FillColor.; RoundRect: Fixed
  2272.          setting/getting BorderWidth.; RoundRect: Fixed setting/getting
  2273.          BorderColor.; RoundRect: Fixed setting/getting OvalWidth.;
  2274.          RoundRect: Fixed setting/getting OvalHeight.; Scrollbar: Fixed
  2275.          getting LiveScroll.; Slider: Fixed getting LiveScroll.
  2276.  
  2277.   (Win)  Timer: fixed a problem when setting the mode to 1 in the IDE,
  2278.          the timer never fired.
  2279.  
  2280.   (Win)  Timer: no longer consumes 100% CPU. Precision is not as high as
  2281.          it was previously. The precision on Win95/98 is 1/18 of a
  2282.          second (or 55 milliseconds), and 10 milliseconds on NT.
  2283.  
  2284.   (Win)  Timers: no longer require a Window to be open to work.
  2285.  
  2286.   (Win)  Val: Val("") and Val("t") now returns 0."
  2287.  
  2288.   (Win)  VolumeName: Now returns valid volume name drives, this was
  2289.          fixed when the FoldItemParent bug was fixed.
  2290.  
  2291.   (Win)  Window.Close: fixed a problem with closing an application,
  2292.          where an unhandled exception would sometimes occur because some
  2293.          controls were being deleted twice.
  2294.  
  2295.   (Win)  Window.DrawInto: works on Windows. Note: if any controls are
  2296.          off the visible screen page or hidden by another window,
  2297.          DrawInto will not be able to draw those controls.
  2298.  
  2299.   (Win)  Window.KeyDown: fixed bug in translating key from Windows
  2300.          virtual key to a Mac equivalent key. Also, pressing Shift,
  2301.          Ctrl, or Alt, should not trigger the KeyDown event anymore.
  2302.  
  2303.   (Win)  Window.KeyDown: key code is now more consistent with the Mac
  2304.          key code, especially for extended keys, like arrow keys.
  2305.  
  2306.   (Win)  Window.visible: setting the visible property of a Window to
  2307.          true" will now display the Window."
  2308.  
  2309.   (Win)  Window: fixed problem with unhandled exceptions error at start
  2310.          up, since some of the events were being fired too soon.
  2311.  
  2312.   (Win)  Window: fixed problem with windows disappearing behind the main
  2313.          window.
  2314.  
  2315.   (Win)  Window: fixed the ordering of events being fired, so the Open
  2316.          event should fire before the Activate event.
  2317.  
  2318.   (Win)  Window: MinWidth/MinHeight, MaxWidth/MaxHeight should now work
  2319.          under windows.
  2320.  
  2321.   (Win)  Window: MouseDown fires again. This broke in 3.0a11.
  2322.  
  2323.   (Win)  Window: Refreshing windows no longer refreshes the desktop
  2324.          window.
  2325.  
  2326.   (Win)  Window: RefreshRect now only refreshes the rectangle in
  2327.          question and not the window and the desktop.
  2328.  
  2329.  
  2330. Various bug fixes caused these workarounds to fail:
  2331.   (All)  PostgreSQL dates: the previous trick of using NativeValue to
  2332.          get a human-readable string from a date column no longer works;
  2333.          NativeValue now returns an internal binary representation. Use
  2334.          StringValue (which now works as it should) instead.
  2335.  
  2336.   (Win)  Events: Mouse Down and Action Events -- placing a canvas
  2337.          underneath a control to catch its events will no longer work,
  2338.          place the canvas above the control, just as you would on the
  2339.          Mac.
  2340.  
  2341. The following known issues still exist in this release
  2342.   (All)  Sprite surface: Out of memory condition sometimes fails to exit
  2343.          gracefully (i.e., crashes). Assign more RAM to IDE and built
  2344.          applications.
  2345.  
  2346.   (Car)  Suspend Run: command-shift-period sequence (to switch to the
  2347.          REALbasic debugger) still doesn't work under Carbon or Mac OS
  2348.          X.
  2349.  
  2350.   (IDE)  Building: You can't build a Mac Classic and a Mac Carbon at the
  2351.          same time, since they're two different files but you can only
  2352.          set one file name. Just build one at a time for now, and append
  2353.          something meaningful to the Carbon version's name or use
  2354.          AppleScript to automate it.
  2355.  
  2356.   (IDE)  Custom Classes: Custom Serial controls won't use a pop-up to
  2357.          select port, parity etc. You have to use the integer
  2358.          equivalent.
  2359.  
  2360.   (IDE)  Custom Classes: Custom Timers and Serial controls will not
  2361.          retain default values.
  2362.  
  2363.   (IDE)  Debugger: Viewers -- arrays with more than one dimension are
  2364.          still not viewable from IDE's debugger.
  2365.  
  2366.   (IDE)  Project window: Folders aren't yet exportable via Menus.
  2367.  
  2368.   (IDE)  Project Window: If a folder in the finder already exists with
  2369.          the same name as the one you are dragging nothing will happen.
  2370.          (I.e. the folder will not be replaced and no message will
  2371.          appear to warn you of this)
  2372.  
  2373.   (IDE)  REAL Database: doesn't support field options ("Primary" and
  2374.          "Not Null" -- the latter acts as if it's supported, but the
  2375.          option isn't saved). This is not a new issue, but since the
  2376.          schema editor has changed it seemed worthy of mention.
  2377.  
  2378.   (IDE)  Sprite surface: when loading a 2.1 project, Sprite surface will
  2379.          have height and width of 0, making it impossible to see. Find
  2380.          it with Select All (or use the tab key), then adjust height and
  2381.          width.
  2382.  
  2383.   (Mac)  PrinterSetup: due to a long-standing limitation of Apple's
  2384.          Laserwriter 8 printer driver, the only resolutions available
  2385.          via this driver are 72 and 300 dpi, even if the printer really
  2386.          supports other resolution.
  2387.  
  2388.   (Mac)  Text: Ampersand symbols in constants behave as they always
  2389.          have, i.e., Mac and Windows are different.
  2390.  
  2391.   (OSX)  Progress bars: Don't try to overlap two progress bars, or put
  2392.          another control on top of a progress bar. It looks bad. This is
  2393.          not our fault.
  2394.  
  2395.   (OSX)  When controls are too close together, and one loses the focus,
  2396.          the border of the neighboring control may not get refreshed
  2397.          correctly. Work-around: put a few extra pixels between
  2398.          controls.
  2399.  
  2400.   (Win)  Drag and Drop: doesn't work with overlapped controls.
  2401.  
  2402.   (Win)  Groupboxes and cloned (at runtime) controls will not display
  2403.          their tool tips.
  2404.  
  2405.   (Win)  Sprite surface: colors are somewhat off in 8-bit mode due to
  2406.          palette differences. Windows and the Mac OS use different 8 bit
  2407.          color palettes.
  2408.  
  2409.   (Win)  Sprite surface: slower than the Mac when changing the sprite
  2410.          image often in a single frame
  2411.  
  2412.